YES 22.674 H-Termination proof of /home/matraf/haskell/eval_FullyBlown_Fast/FiniteMap.hs
H-Termination of the given Haskell-Program with start terms could successfully be proven:



HASKELL
  ↳ LR

mainModule FiniteMap
  ((plusFM_C :: (Ord a, Ord c) => (b  ->  b  ->  b ->  FiniteMap (Either a c) b  ->  FiniteMap (Either a c) b  ->  FiniteMap (Either a c) b) :: (Ord a, Ord c) => (b  ->  b  ->  b ->  FiniteMap (Either a c) b  ->  FiniteMap (Either a c) b  ->  FiniteMap (Either a c) b)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord a => FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM fm key elt addToFM_C (\old new ->new) fm key elt

  addToFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM_C combiner EmptyFM key elt unitFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt 
 | new_key < key = 
mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
 | new_key > key = 
mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
 | otherwise = 
Branch new_key (combiner elt new_elt) size fm_l fm_r

  emptyFM :: FiniteMap a b
emptyFM EmptyFM

  findMax :: FiniteMap b a  ->  (b,a)
findMax (Branch key elt _ _ EmptyFM(key,elt)
findMax (Branch key elt _ _ fm_rfindMax fm_r

  findMin :: FiniteMap a b  ->  (a,b)
findMin (Branch key elt _ EmptyFM _) (key,elt)
findMin (Branch key elt _ fm_l _) findMin fm_l

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM (\key elt rest ->(key,elt: rest) [] fm

  foldFM :: (c  ->  a  ->  b  ->  b ->  b  ->  FiniteMap c a  ->  b
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  mkBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBalBranch key elt fm_L fm_R 
 | size_l + size_r < 2 = 
mkBranch 1 key elt fm_L fm_R
 | size_r > sIZE_RATIO * size_l = 
case fm_R of
  Branch _ _ _ fm_rl fm_rr
 | sizeFM fm_rl < 2 * sizeFM fm_rr -> 
single_L fm_L fm_R
 | otherwise -> 
double_L fm_L fm_R
 | size_l > sIZE_RATIO * size_r = 
case fm_L of
  Branch _ _ _ fm_ll fm_lr
 | sizeFM fm_lr < 2 * sizeFM fm_ll -> 
single_R fm_L fm_R
 | otherwise -> 
double_R fm_L fm_R
 | otherwise = 
mkBranch 2 key elt fm_L fm_R where 
double_L fm_l (Branch key_r elt_r _ (Branch key_rl elt_rl _ fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l _ fm_ll (Branch key_lr elt_lr _ fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
single_L fm_l (Branch key_r elt_r _ fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l _ fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l sizeFM fm_L
size_r sizeFM fm_R

  mkBranch :: Ord a => Int  ->  a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBranch which key elt fm_l fm_r 
let 
result Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
 where 
balance_ok True
left_ok 
case fm_l of
  EmptyFM-> True
  Branch left_key _ _ _ _-> 
let 
biggest_left_key fst (findMax fm_l)
in biggest_left_key < key
left_size sizeFM fm_l
right_ok 
case fm_r of
  EmptyFM-> True
  Branch right_key _ _ _ _-> 
let 
smallest_right_key fst (findMin fm_r)
in key < smallest_right_key
right_size sizeFM fm_r
unbox :: Int  ->  Int
unbox x x

  mkVBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkVBalBranch key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch key elt fm_l@(Branch key_l elt_l _ fm_ll fm_lrfm_r@(Branch key_r elt_r _ fm_rl fm_rr
 | sIZE_RATIO * size_l < size_r = 
mkBalBranch key_r elt_r (mkVBalBranch key elt fm_l fm_rl) fm_rr
 | sIZE_RATIO * size_r < size_l = 
mkBalBranch key_l elt_l fm_ll (mkVBalBranch key elt fm_lr fm_r)
 | otherwise = 
mkBranch 13 key elt fm_l fm_r where 
size_l sizeFM fm_l
size_r sizeFM fm_r

  plusFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
plusFM_C combiner EmptyFM fm2 fm2
plusFM_C combiner fm1 EmptyFM fm1
plusFM_C combiner fm1 (Branch split_key elt2 _ left right
mkVBalBranch split_key new_elt (plusFM_C combiner lts left) (plusFM_C combiner gts right) where 
gts splitGT fm1 split_key
lts splitLT fm1 split_key
new_elt 
case lookupFM fm1 split_key of
  Nothing-> elt2
  Just elt1-> combiner elt1 elt2

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size

  splitGT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitGT EmptyFM split_key emptyFM
splitGT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key > key = 
splitGT fm_r split_key
 | split_key < key = 
mkVBalBranch key elt (splitGT fm_l split_key) fm_r
 | otherwise = 
fm_r

  splitLT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitLT EmptyFM split_key emptyFM
splitLT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key < key = 
splitLT fm_l split_key
 | split_key > key = 
mkVBalBranch key elt fm_l (splitLT fm_r split_key)
 | otherwise = 
fm_l

  unitFM :: a  ->  b  ->  FiniteMap a b
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Lambda Reductions:
The following Lambda expression
\keyeltrest→(key,elt: rest

is transformed to
fmToList0 key elt rest = (key,elt: rest

The following Lambda expression
\oldnewnew

is transformed to
addToFM0 old new = new



↳ HASKELL
  ↳ LR
HASKELL
      ↳ CR

mainModule FiniteMap
  ((plusFM_C :: (Ord c, Ord a) => (b  ->  b  ->  b ->  FiniteMap (Either c a) b  ->  FiniteMap (Either c a) b  ->  FiniteMap (Either c a) b) :: (Ord a, Ord c) => (b  ->  b  ->  b ->  FiniteMap (Either c a) b  ->  FiniteMap (Either c a) b  ->  FiniteMap (Either c a) b)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord b => FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM_C combiner EmptyFM key elt unitFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt 
 | new_key < key = 
mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
 | new_key > key = 
mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
 | otherwise = 
Branch new_key (combiner elt new_elt) size fm_l fm_r

  emptyFM :: FiniteMap b a
emptyFM EmptyFM

  findMax :: FiniteMap b a  ->  (b,a)
findMax (Branch key elt _ _ EmptyFM(key,elt)
findMax (Branch key elt _ _ fm_rfindMax fm_r

  findMin :: FiniteMap a b  ->  (a,b)
findMin (Branch key elt _ EmptyFM _) (key,elt)
findMin (Branch key elt _ fm_l _) findMin fm_l

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (a  ->  c  ->  b  ->  b ->  b  ->  FiniteMap a c  ->  b
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord a => FiniteMap a b  ->  a  ->  Maybe b
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  mkBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBalBranch key elt fm_L fm_R 
 | size_l + size_r < 2 = 
mkBranch 1 key elt fm_L fm_R
 | size_r > sIZE_RATIO * size_l = 
case fm_R of
  Branch _ _ _ fm_rl fm_rr
 | sizeFM fm_rl < 2 * sizeFM fm_rr -> 
single_L fm_L fm_R
 | otherwise -> 
double_L fm_L fm_R
 | size_l > sIZE_RATIO * size_r = 
case fm_L of
  Branch _ _ _ fm_ll fm_lr
 | sizeFM fm_lr < 2 * sizeFM fm_ll -> 
single_R fm_L fm_R
 | otherwise -> 
double_R fm_L fm_R
 | otherwise = 
mkBranch 2 key elt fm_L fm_R where 
double_L fm_l (Branch key_r elt_r _ (Branch key_rl elt_rl _ fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l _ fm_ll (Branch key_lr elt_lr _ fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
single_L fm_l (Branch key_r elt_r _ fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l _ fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l sizeFM fm_L
size_r sizeFM fm_R

  mkBranch :: Ord a => Int  ->  a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBranch which key elt fm_l fm_r 
let 
result Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
 where 
balance_ok True
left_ok 
case fm_l of
  EmptyFM-> True
  Branch left_key _ _ _ _-> 
let 
biggest_left_key fst (findMax fm_l)
in biggest_left_key < key
left_size sizeFM fm_l
right_ok 
case fm_r of
  EmptyFM-> True
  Branch right_key _ _ _ _-> 
let 
smallest_right_key fst (findMin fm_r)
in key < smallest_right_key
right_size sizeFM fm_r
unbox :: Int  ->  Int
unbox x x

  mkVBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkVBalBranch key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch key elt fm_l@(Branch key_l elt_l _ fm_ll fm_lrfm_r@(Branch key_r elt_r _ fm_rl fm_rr
 | sIZE_RATIO * size_l < size_r = 
mkBalBranch key_r elt_r (mkVBalBranch key elt fm_l fm_rl) fm_rr
 | sIZE_RATIO * size_r < size_l = 
mkBalBranch key_l elt_l fm_ll (mkVBalBranch key elt fm_lr fm_r)
 | otherwise = 
mkBranch 13 key elt fm_l fm_r where 
size_l sizeFM fm_l
size_r sizeFM fm_r

  plusFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
plusFM_C combiner EmptyFM fm2 fm2
plusFM_C combiner fm1 EmptyFM fm1
plusFM_C combiner fm1 (Branch split_key elt2 _ left right
mkVBalBranch split_key new_elt (plusFM_C combiner lts left) (plusFM_C combiner gts right) where 
gts splitGT fm1 split_key
lts splitLT fm1 split_key
new_elt 
case lookupFM fm1 split_key of
  Nothing-> elt2
  Just elt1-> combiner elt1 elt2

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size

  splitGT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitGT EmptyFM split_key emptyFM
splitGT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key > key = 
splitGT fm_r split_key
 | split_key < key = 
mkVBalBranch key elt (splitGT fm_l split_key) fm_r
 | otherwise = 
fm_r

  splitLT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitLT EmptyFM split_key emptyFM
splitLT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key < key = 
splitLT fm_l split_key
 | split_key > key = 
mkVBalBranch key elt fm_l (splitLT fm_r split_key)
 | otherwise = 
fm_l

  unitFM :: b  ->  a  ->  FiniteMap b a
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Case Reductions:
The following Case expression
case fm_l of
 EmptyFM → True
 Branch left_key _ _ _ _ → 
let 
biggest_left_key  = fst (findMax fm_l)
in biggest_left_key < key

is transformed to
left_ok0 fm_l key EmptyFM = True
left_ok0 fm_l key (Branch left_key _ _ _ _) = 
let 
biggest_left_key  = fst (findMax fm_l)
in biggest_left_key < key

The following Case expression
case fm_r of
 EmptyFM → True
 Branch right_key _ _ _ _ → 
let 
smallest_right_key  = fst (findMin fm_r)
in key < smallest_right_key

is transformed to
right_ok0 fm_r key EmptyFM = True
right_ok0 fm_r key (Branch right_key _ _ _ _) = 
let 
smallest_right_key  = fst (findMin fm_r)
in key < smallest_right_key

The following Case expression
case fm_R of
 Branch _ _ _ fm_rl fm_rr
 | sizeFM fm_rl < 2 * sizeFM fm_rr
 → single_L fm_L fm_R
 | otherwise
 → double_L fm_L fm_R

is transformed to
mkBalBranch0 fm_L fm_R (Branch _ _ _ fm_rl fm_rr)
 | sizeFM fm_rl < 2 * sizeFM fm_rr
 = single_L fm_L fm_R
 | otherwise
 = double_L fm_L fm_R

The following Case expression
case fm_L of
 Branch _ _ _ fm_ll fm_lr
 | sizeFM fm_lr < 2 * sizeFM fm_ll
 → single_R fm_L fm_R
 | otherwise
 → double_R fm_L fm_R

is transformed to
mkBalBranch1 fm_L fm_R (Branch _ _ _ fm_ll fm_lr)
 | sizeFM fm_lr < 2 * sizeFM fm_ll
 = single_R fm_L fm_R
 | otherwise
 = double_R fm_L fm_R

The following Case expression
case lookupFM fm1 split_key of
 Nothing → elt2
 Just elt1 → combiner elt1 elt2

is transformed to
new_elt0 elt2 combiner Nothing = elt2
new_elt0 elt2 combiner (Just elt1) = combiner elt1 elt2

The following Case expression
case compare x y of
 EQ → o
 LT → LT
 GT → GT

is transformed to
primCompAux0 o EQ = o
primCompAux0 o LT = LT
primCompAux0 o GT = GT



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
HASKELL
          ↳ IFR

mainModule FiniteMap
  ((plusFM_C :: (Ord b, Ord c) => (a  ->  a  ->  a ->  FiniteMap (Either b c) a  ->  FiniteMap (Either b c) a  ->  FiniteMap (Either b c) a) :: (Ord b, Ord c) => (a  ->  a  ->  a ->  FiniteMap (Either b c) a  ->  FiniteMap (Either b c) a  ->  FiniteMap (Either b c) a)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord a => FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM_C combiner EmptyFM key elt unitFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt 
 | new_key < key = 
mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
 | new_key > key = 
mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
 | otherwise = 
Branch new_key (combiner elt new_elt) size fm_l fm_r

  emptyFM :: FiniteMap a b
emptyFM EmptyFM

  findMax :: FiniteMap b a  ->  (b,a)
findMax (Branch key elt _ _ EmptyFM(key,elt)
findMax (Branch key elt _ _ fm_rfindMax fm_r

  findMin :: FiniteMap b a  ->  (b,a)
findMin (Branch key elt _ EmptyFM _) (key,elt)
findMin (Branch key elt _ fm_l _) findMin fm_l

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (c  ->  a  ->  b  ->  b ->  b  ->  FiniteMap c a  ->  b
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  mkBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBalBranch key elt fm_L fm_R 
 | size_l + size_r < 2 = 
mkBranch 1 key elt fm_L fm_R
 | size_r > sIZE_RATIO * size_l = 
mkBalBranch0 fm_L fm_R fm_R
 | size_l > sIZE_RATIO * size_r = 
mkBalBranch1 fm_L fm_R fm_L
 | otherwise = 
mkBranch 2 key elt fm_L fm_R where 
double_L fm_l (Branch key_r elt_r _ (Branch key_rl elt_rl _ fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l _ fm_ll (Branch key_lr elt_lr _ fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch _ _ _ fm_rl fm_rr
 | sizeFM fm_rl < 2 * sizeFM fm_rr = 
single_L fm_L fm_R
 | otherwise = 
double_L fm_L fm_R
mkBalBranch1 fm_L fm_R (Branch _ _ _ fm_ll fm_lr
 | sizeFM fm_lr < 2 * sizeFM fm_ll = 
single_R fm_L fm_R
 | otherwise = 
double_R fm_L fm_R
single_L fm_l (Branch key_r elt_r _ fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l _ fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l sizeFM fm_L
size_r sizeFM fm_R

  mkBranch :: Ord b => Int  ->  b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBranch which key elt fm_l fm_r 
let 
result Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
 where 
balance_ok True
left_ok left_ok0 fm_l key fm_l
left_ok0 fm_l key EmptyFM True
left_ok0 fm_l key (Branch left_key _ _ _ _) 
let 
biggest_left_key fst (findMax fm_l)
in biggest_left_key < key
left_size sizeFM fm_l
right_ok right_ok0 fm_r key fm_r
right_ok0 fm_r key EmptyFM True
right_ok0 fm_r key (Branch right_key _ _ _ _) 
let 
smallest_right_key fst (findMin fm_r)
in key < smallest_right_key
right_size sizeFM fm_r
unbox :: Int  ->  Int
unbox x x

  mkVBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkVBalBranch key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch key elt fm_l@(Branch key_l elt_l _ fm_ll fm_lrfm_r@(Branch key_r elt_r _ fm_rl fm_rr
 | sIZE_RATIO * size_l < size_r = 
mkBalBranch key_r elt_r (mkVBalBranch key elt fm_l fm_rl) fm_rr
 | sIZE_RATIO * size_r < size_l = 
mkBalBranch key_l elt_l fm_ll (mkVBalBranch key elt fm_lr fm_r)
 | otherwise = 
mkBranch 13 key elt fm_l fm_r where 
size_l sizeFM fm_l
size_r sizeFM fm_r

  plusFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
plusFM_C combiner EmptyFM fm2 fm2
plusFM_C combiner fm1 EmptyFM fm1
plusFM_C combiner fm1 (Branch split_key elt2 _ left right
mkVBalBranch split_key new_elt (plusFM_C combiner lts left) (plusFM_C combiner gts right) where 
gts splitGT fm1 split_key
lts splitLT fm1 split_key
new_elt new_elt0 elt2 combiner (lookupFM fm1 split_key)
new_elt0 elt2 combiner Nothing elt2
new_elt0 elt2 combiner (Just elt1combiner elt1 elt2

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size

  splitGT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitGT EmptyFM split_key emptyFM
splitGT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key > key = 
splitGT fm_r split_key
 | split_key < key = 
mkVBalBranch key elt (splitGT fm_l split_key) fm_r
 | otherwise = 
fm_r

  splitLT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitLT EmptyFM split_key emptyFM
splitLT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key < key = 
splitLT fm_l split_key
 | split_key > key = 
mkVBalBranch key elt fm_l (splitLT fm_r split_key)
 | otherwise = 
fm_l

  unitFM :: a  ->  b  ->  FiniteMap a b
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



If Reductions:
The following If expression
if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero

is transformed to
primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y))
primDivNatS0 x y False = Zero

The following If expression
if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x

is transformed to
primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y)
primModNatS0 x y False = Succ x



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
HASKELL
              ↳ BR

mainModule FiniteMap
  ((plusFM_C :: (Ord a, Ord c) => (b  ->  b  ->  b ->  FiniteMap (Either c a) b  ->  FiniteMap (Either c a) b  ->  FiniteMap (Either c a) b) :: (Ord a, Ord c) => (b  ->  b  ->  b ->  FiniteMap (Either c a) b  ->  FiniteMap (Either c a) b  ->  FiniteMap (Either c a) b)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord b => FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM_C combiner EmptyFM key elt unitFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt 
 | new_key < key = 
mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
 | new_key > key = 
mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
 | otherwise = 
Branch new_key (combiner elt new_elt) size fm_l fm_r

  emptyFM :: FiniteMap b a
emptyFM EmptyFM

  findMax :: FiniteMap a b  ->  (a,b)
findMax (Branch key elt _ _ EmptyFM(key,elt)
findMax (Branch key elt _ _ fm_rfindMax fm_r

  findMin :: FiniteMap a b  ->  (a,b)
findMin (Branch key elt _ EmptyFM _) (key,elt)
findMin (Branch key elt _ fm_l _) findMin fm_l

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (c  ->  b  ->  a  ->  a ->  a  ->  FiniteMap c b  ->  a
foldFM k z EmptyFM z
foldFM k z (Branch key elt _ fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord a => FiniteMap a b  ->  a  ->  Maybe b
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt _ fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  mkBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBalBranch key elt fm_L fm_R 
 | size_l + size_r < 2 = 
mkBranch 1 key elt fm_L fm_R
 | size_r > sIZE_RATIO * size_l = 
mkBalBranch0 fm_L fm_R fm_R
 | size_l > sIZE_RATIO * size_r = 
mkBalBranch1 fm_L fm_R fm_L
 | otherwise = 
mkBranch 2 key elt fm_L fm_R where 
double_L fm_l (Branch key_r elt_r _ (Branch key_rl elt_rl _ fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l _ fm_ll (Branch key_lr elt_lr _ fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch _ _ _ fm_rl fm_rr
 | sizeFM fm_rl < 2 * sizeFM fm_rr = 
single_L fm_L fm_R
 | otherwise = 
double_L fm_L fm_R
mkBalBranch1 fm_L fm_R (Branch _ _ _ fm_ll fm_lr
 | sizeFM fm_lr < 2 * sizeFM fm_ll = 
single_R fm_L fm_R
 | otherwise = 
double_R fm_L fm_R
single_L fm_l (Branch key_r elt_r _ fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l _ fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l sizeFM fm_L
size_r sizeFM fm_R

  mkBranch :: Ord b => Int  ->  b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBranch which key elt fm_l fm_r 
let 
result Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
 where 
balance_ok True
left_ok left_ok0 fm_l key fm_l
left_ok0 fm_l key EmptyFM True
left_ok0 fm_l key (Branch left_key _ _ _ _) 
let 
biggest_left_key fst (findMax fm_l)
in biggest_left_key < key
left_size sizeFM fm_l
right_ok right_ok0 fm_r key fm_r
right_ok0 fm_r key EmptyFM True
right_ok0 fm_r key (Branch right_key _ _ _ _) 
let 
smallest_right_key fst (findMin fm_r)
in key < smallest_right_key
right_size sizeFM fm_r
unbox :: Int  ->  Int
unbox x x

  mkVBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkVBalBranch key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch key elt fm_l@(Branch key_l elt_l _ fm_ll fm_lrfm_r@(Branch key_r elt_r _ fm_rl fm_rr
 | sIZE_RATIO * size_l < size_r = 
mkBalBranch key_r elt_r (mkVBalBranch key elt fm_l fm_rl) fm_rr
 | sIZE_RATIO * size_r < size_l = 
mkBalBranch key_l elt_l fm_ll (mkVBalBranch key elt fm_lr fm_r)
 | otherwise = 
mkBranch 13 key elt fm_l fm_r where 
size_l sizeFM fm_l
size_r sizeFM fm_r

  plusFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
plusFM_C combiner EmptyFM fm2 fm2
plusFM_C combiner fm1 EmptyFM fm1
plusFM_C combiner fm1 (Branch split_key elt2 _ left right
mkVBalBranch split_key new_elt (plusFM_C combiner lts left) (plusFM_C combiner gts right) where 
gts splitGT fm1 split_key
lts splitLT fm1 split_key
new_elt new_elt0 elt2 combiner (lookupFM fm1 split_key)
new_elt0 elt2 combiner Nothing elt2
new_elt0 elt2 combiner (Just elt1combiner elt1 elt2

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch _ _ size _ _) size

  splitGT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitGT EmptyFM split_key emptyFM
splitGT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key > key = 
splitGT fm_r split_key
 | split_key < key = 
mkVBalBranch key elt (splitGT fm_l split_key) fm_r
 | otherwise = 
fm_r

  splitLT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitLT EmptyFM split_key emptyFM
splitLT (Branch key elt _ fm_l fm_rsplit_key 
 | split_key < key = 
splitLT fm_l split_key
 | split_key > key = 
mkVBalBranch key elt fm_l (splitLT fm_r split_key)
 | otherwise = 
fm_l

  unitFM :: a  ->  b  ->  FiniteMap a b
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Replaced joker patterns by fresh variables and removed binding patterns.
Binding Reductions:
The bind variable of the following binding Pattern
fm_l@(Branch yy yz zu zv zw)

is replaced by the following term
Branch yy yz zu zv zw

The bind variable of the following binding Pattern
fm_r@(Branch zy zz vuu vuv vuw)

is replaced by the following term
Branch zy zz vuu vuv vuw



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
HASKELL
                  ↳ COR

mainModule FiniteMap
  ((plusFM_C :: (Ord a, Ord c) => (b  ->  b  ->  b ->  FiniteMap (Either c a) b  ->  FiniteMap (Either c a) b  ->  FiniteMap (Either c a) b) :: (Ord a, Ord c) => (b  ->  b  ->  b ->  FiniteMap (Either c a) b  ->  FiniteMap (Either c a) b  ->  FiniteMap (Either c a) b)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord a => FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM_C combiner EmptyFM key elt unitFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt 
 | new_key < key = 
mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
 | new_key > key = 
mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
 | otherwise = 
Branch new_key (combiner elt new_elt) size fm_l fm_r

  emptyFM :: FiniteMap a b
emptyFM EmptyFM

  findMax :: FiniteMap b a  ->  (b,a)
findMax (Branch key elt vwx vwy EmptyFM(key,elt)
findMax (Branch key elt vwz vxu fm_rfindMax fm_r

  findMin :: FiniteMap a b  ->  (a,b)
findMin (Branch key elt wz EmptyFM xu(key,elt)
findMin (Branch key elt xv fm_l xwfindMin fm_l

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (c  ->  a  ->  b  ->  b ->  b  ->  FiniteMap c a  ->  b
foldFM k z EmptyFM z
foldFM k z (Branch key elt wy fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key Nothing
lookupFM (Branch key elt vxv fm_l fm_rkey_to_find 
 | key_to_find < key = 
lookupFM fm_l key_to_find
 | key_to_find > key = 
lookupFM fm_r key_to_find
 | otherwise = 
Just elt

  mkBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBalBranch key elt fm_L fm_R 
 | size_l + size_r < 2 = 
mkBranch 1 key elt fm_L fm_R
 | size_r > sIZE_RATIO * size_l = 
mkBalBranch0 fm_L fm_R fm_R
 | size_l > sIZE_RATIO * size_r = 
mkBalBranch1 fm_L fm_R fm_L
 | otherwise = 
mkBranch 2 key elt fm_L fm_R where 
double_L fm_l (Branch key_r elt_r vvx (Branch key_rl elt_rl vvy fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l vuy fm_ll (Branch key_lr elt_lr vuz fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr
 | sizeFM fm_rl < 2 * sizeFM fm_rr = 
single_L fm_L fm_R
 | otherwise = 
double_L fm_L fm_R
mkBalBranch1 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr
 | sizeFM fm_lr < 2 * sizeFM fm_ll = 
single_R fm_L fm_R
 | otherwise = 
double_R fm_L fm_R
single_L fm_l (Branch key_r elt_r vww fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l vux fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l sizeFM fm_L
size_r sizeFM fm_R

  mkBranch :: Ord a => Int  ->  a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBranch which key elt fm_l fm_r 
let 
result Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
 where 
balance_ok True
left_ok left_ok0 fm_l key fm_l
left_ok0 fm_l key EmptyFM True
left_ok0 fm_l key (Branch left_key vw vx vy vz
let 
biggest_left_key fst (findMax fm_l)
in biggest_left_key < key
left_size sizeFM fm_l
right_ok right_ok0 fm_r key fm_r
right_ok0 fm_r key EmptyFM True
right_ok0 fm_r key (Branch right_key wu wv ww wx
let 
smallest_right_key fst (findMin fm_r)
in key < smallest_right_key
right_size sizeFM fm_r
unbox :: Int  ->  Int
unbox x x

  mkVBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkVBalBranch key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw
 | sIZE_RATIO * size_l < size_r = 
mkBalBranch zy zz (mkVBalBranch key elt (Branch yy yz zu zv zw) vuv) vuw
 | sIZE_RATIO * size_r < size_l = 
mkBalBranch yy yz zv (mkVBalBranch key elt zw (Branch zy zz vuu vuv vuw))
 | otherwise = 
mkBranch 13 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw) where 
size_l sizeFM (Branch yy yz zu zv zw)
size_r sizeFM (Branch zy zz vuu vuv vuw)

  plusFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
plusFM_C combiner EmptyFM fm2 fm2
plusFM_C combiner fm1 EmptyFM fm1
plusFM_C combiner fm1 (Branch split_key elt2 vxw left right
mkVBalBranch split_key new_elt (plusFM_C combiner lts left) (plusFM_C combiner gts right) where 
gts splitGT fm1 split_key
lts splitLT fm1 split_key
new_elt new_elt0 elt2 combiner (lookupFM fm1 split_key)
new_elt0 elt2 combiner Nothing elt2
new_elt0 elt2 combiner (Just elt1combiner elt1 elt2

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch xz yu size yv ywsize

  splitGT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitGT EmptyFM split_key emptyFM
splitGT (Branch key elt xy fm_l fm_rsplit_key 
 | split_key > key = 
splitGT fm_r split_key
 | split_key < key = 
mkVBalBranch key elt (splitGT fm_l split_key) fm_r
 | otherwise = 
fm_r

  splitLT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitLT EmptyFM split_key emptyFM
splitLT (Branch key elt xx fm_l fm_rsplit_key 
 | split_key < key = 
splitLT fm_l split_key
 | split_key > key = 
mkVBalBranch key elt fm_l (splitLT fm_r split_key)
 | otherwise = 
fm_l

  unitFM :: a  ->  b  ->  FiniteMap a b
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Cond Reductions:
The following Function with conditions
splitLT EmptyFM split_key = emptyFM
splitLT (Branch key elt xx fm_l fm_rsplit_key
 | split_key < key
 = splitLT fm_l split_key
 | split_key > key
 = mkVBalBranch key elt fm_l (splitLT fm_r split_key)
 | otherwise
 = fm_l

is transformed to
splitLT EmptyFM split_key = splitLT4 EmptyFM split_key
splitLT (Branch key elt xx fm_l fm_rsplit_key = splitLT3 (Branch key elt xx fm_l fm_rsplit_key

splitLT1 key elt xx fm_l fm_r split_key True = mkVBalBranch key elt fm_l (splitLT fm_r split_key)
splitLT1 key elt xx fm_l fm_r split_key False = splitLT0 key elt xx fm_l fm_r split_key otherwise

splitLT0 key elt xx fm_l fm_r split_key True = fm_l

splitLT2 key elt xx fm_l fm_r split_key True = splitLT fm_l split_key
splitLT2 key elt xx fm_l fm_r split_key False = splitLT1 key elt xx fm_l fm_r split_key (split_key > key)

splitLT3 (Branch key elt xx fm_l fm_rsplit_key = splitLT2 key elt xx fm_l fm_r split_key (split_key < key)

splitLT4 EmptyFM split_key = emptyFM
splitLT4 www wwx = splitLT3 www wwx

The following Function with conditions
splitGT EmptyFM split_key = emptyFM
splitGT (Branch key elt xy fm_l fm_rsplit_key
 | split_key > key
 = splitGT fm_r split_key
 | split_key < key
 = mkVBalBranch key elt (splitGT fm_l split_keyfm_r
 | otherwise
 = fm_r

is transformed to
splitGT EmptyFM split_key = splitGT4 EmptyFM split_key
splitGT (Branch key elt xy fm_l fm_rsplit_key = splitGT3 (Branch key elt xy fm_l fm_rsplit_key

splitGT1 key elt xy fm_l fm_r split_key True = mkVBalBranch key elt (splitGT fm_l split_keyfm_r
splitGT1 key elt xy fm_l fm_r split_key False = splitGT0 key elt xy fm_l fm_r split_key otherwise

splitGT2 key elt xy fm_l fm_r split_key True = splitGT fm_r split_key
splitGT2 key elt xy fm_l fm_r split_key False = splitGT1 key elt xy fm_l fm_r split_key (split_key < key)

splitGT0 key elt xy fm_l fm_r split_key True = fm_r

splitGT3 (Branch key elt xy fm_l fm_rsplit_key = splitGT2 key elt xy fm_l fm_r split_key (split_key > key)

splitGT4 EmptyFM split_key = emptyFM
splitGT4 wxu wxv = splitGT3 wxu wxv

The following Function with conditions
mkVBalBranch key elt EmptyFM fm_r = addToFM fm_r key elt
mkVBalBranch key elt fm_l EmptyFM = addToFM fm_l key elt
mkVBalBranch key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)
 | sIZE_RATIO * size_l < size_r
 = mkBalBranch zy zz (mkVBalBranch key elt (Branch yy yz zu zv zwvuvvuw
 | sIZE_RATIO * size_r < size_l
 = mkBalBranch yy yz zv (mkVBalBranch key elt zw (Branch zy zz vuu vuv vuw))
 | otherwise
 = mkBranch 13 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)
where 
size_l  = sizeFM (Branch yy yz zu zv zw)
size_r  = sizeFM (Branch zy zz vuu vuv vuw)

is transformed to
mkVBalBranch key elt EmptyFM fm_r = mkVBalBranch5 key elt EmptyFM fm_r
mkVBalBranch key elt fm_l EmptyFM = mkVBalBranch4 key elt fm_l EmptyFM
mkVBalBranch key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw) = mkVBalBranch3 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)

mkVBalBranch3 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw) = 
mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * size_l < size_r)
where 
mkVBalBranch0 key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBranch 13 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)
mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBalBranch yy yz zv (mkVBalBranch key elt zw (Branch zy zz vuu vuv vuw))
mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw False = mkVBalBranch0 key elt yy yz zu zv zw zy zz vuu vuv vuw otherwise
mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBalBranch zy zz (mkVBalBranch key elt (Branch yy yz zu zv zwvuvvuw
mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw False = mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * size_r < size_l)
size_l  = sizeFM (Branch yy yz zu zv zw)
size_r  = sizeFM (Branch zy zz vuu vuv vuw)

mkVBalBranch4 key elt fm_l EmptyFM = addToFM fm_l key elt
mkVBalBranch4 wxz wyu wyv wyw = mkVBalBranch3 wxz wyu wyv wyw

mkVBalBranch5 key elt EmptyFM fm_r = addToFM fm_r key elt
mkVBalBranch5 wyy wyz wzu wzv = mkVBalBranch4 wyy wyz wzu wzv

The following Function with conditions
mkBalBranch1 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)
 | sizeFM fm_lr < 2 * sizeFM fm_ll
 = single_R fm_L fm_R
 | otherwise
 = double_R fm_L fm_R

is transformed to
mkBalBranch1 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch12 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)

mkBalBranch10 fm_L fm_R vvu vvv vvw fm_ll fm_lr True = double_R fm_L fm_R

mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr True = single_R fm_L fm_R
mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr False = mkBalBranch10 fm_L fm_R vvu vvv vvw fm_ll fm_lr otherwise

mkBalBranch12 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)

The following Function with conditions
mkBalBranch0 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)
 | sizeFM fm_rl < 2 * sizeFM fm_rr
 = single_L fm_L fm_R
 | otherwise
 = double_L fm_L fm_R

is transformed to
mkBalBranch0 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch02 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)

mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr True = single_L fm_L fm_R
mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr False = mkBalBranch00 fm_L fm_R vvz vwu vwv fm_rl fm_rr otherwise

mkBalBranch00 fm_L fm_R vvz vwu vwv fm_rl fm_rr True = double_L fm_L fm_R

mkBalBranch02 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)

The following Function with conditions
mkBalBranch key elt fm_L fm_R
 | size_l + size_r < 2
 = mkBranch 1 key elt fm_L fm_R
 | size_r > sIZE_RATIO * size_l
 = mkBalBranch0 fm_L fm_R fm_R
 | size_l > sIZE_RATIO * size_r
 = mkBalBranch1 fm_L fm_R fm_L
 | otherwise
 = mkBranch 2 key elt fm_L fm_R
where 
double_L fm_l (Branch key_r elt_r vvx (Branch key_rl elt_rl vvy fm_rll fm_rlrfm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l vuy fm_ll (Branch key_lr elt_lr vuz fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)
 | sizeFM fm_rl < 2 * sizeFM fm_rr
 = single_L fm_L fm_R
 | otherwise
 = double_L fm_L fm_R
mkBalBranch1 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)
 | sizeFM fm_lr < 2 * sizeFM fm_ll
 = single_R fm_L fm_R
 | otherwise
 = double_R fm_L fm_R
single_L fm_l (Branch key_r elt_r vww fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rlfm_rr
single_R (Branch key_l elt_l vux fm_ll fm_lrfm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l  = sizeFM fm_L
size_r  = sizeFM fm_R

is transformed to
mkBalBranch key elt fm_L fm_R = mkBalBranch6 key elt fm_L fm_R

mkBalBranch6 key elt fm_L fm_R = 
mkBalBranch5 key elt fm_L fm_R (size_l + size_r < 2)
where 
double_L fm_l (Branch key_r elt_r vvx (Branch key_rl elt_rl vvy fm_rll fm_rlrfm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l vuy fm_ll (Branch key_lr elt_lr vuz fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch02 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)
mkBalBranch00 fm_L fm_R vvz vwu vwv fm_rl fm_rr True = double_L fm_L fm_R
mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr True = single_L fm_L fm_R
mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr False = mkBalBranch00 fm_L fm_R vvz vwu vwv fm_rl fm_rr otherwise
mkBalBranch02 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)
mkBalBranch1 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch12 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)
mkBalBranch10 fm_L fm_R vvu vvv vvw fm_ll fm_lr True = double_R fm_L fm_R
mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr True = single_R fm_L fm_R
mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr False = mkBalBranch10 fm_L fm_R vvu vvv vvw fm_ll fm_lr otherwise
mkBalBranch12 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)
mkBalBranch2 key elt fm_L fm_R True = mkBranch 2 key elt fm_L fm_R
mkBalBranch3 key elt fm_L fm_R True = mkBalBranch1 fm_L fm_R fm_L
mkBalBranch3 key elt fm_L fm_R False = mkBalBranch2 key elt fm_L fm_R otherwise
mkBalBranch4 key elt fm_L fm_R True = mkBalBranch0 fm_L fm_R fm_R
mkBalBranch4 key elt fm_L fm_R False = mkBalBranch3 key elt fm_L fm_R (size_l > sIZE_RATIO * size_r)
mkBalBranch5 key elt fm_L fm_R True = mkBranch 1 key elt fm_L fm_R
mkBalBranch5 key elt fm_L fm_R False = mkBalBranch4 key elt fm_L fm_R (size_r > sIZE_RATIO * size_l)
single_L fm_l (Branch key_r elt_r vww fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rlfm_rr
single_R (Branch key_l elt_l vux fm_ll fm_lrfm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l  = sizeFM fm_L
size_r  = sizeFM fm_R

The following Function with conditions
addToFM_C combiner EmptyFM key elt = unitFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt
 | new_key < key
 = mkBalBranch key elt (addToFM_C combiner fm_l new_key new_eltfm_r
 | new_key > key
 = mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
 | otherwise
 = Branch new_key (combiner elt new_eltsize fm_l fm_r

is transformed to
addToFM_C combiner EmptyFM key elt = addToFM_C4 combiner EmptyFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt = addToFM_C3 combiner (Branch key elt size fm_l fm_rnew_key new_elt

addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt True = mkBalBranch key elt (addToFM_C combiner fm_l new_key new_eltfm_r
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt False = addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt (new_key > key)

addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt True = Branch new_key (combiner elt new_eltsize fm_l fm_r

addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt True = mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt False = addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt otherwise

addToFM_C3 combiner (Branch key elt size fm_l fm_rnew_key new_elt = addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt (new_key < key)

addToFM_C4 combiner EmptyFM key elt = unitFM key elt
addToFM_C4 xuu xuv xuw xux = addToFM_C3 xuu xuv xuw xux

The following Function with conditions
lookupFM EmptyFM key = Nothing
lookupFM (Branch key elt vxv fm_l fm_rkey_to_find
 | key_to_find < key
 = lookupFM fm_l key_to_find
 | key_to_find > key
 = lookupFM fm_r key_to_find
 | otherwise
 = Just elt

is transformed to
lookupFM EmptyFM key = lookupFM4 EmptyFM key
lookupFM (Branch key elt vxv fm_l fm_rkey_to_find = lookupFM3 (Branch key elt vxv fm_l fm_rkey_to_find

lookupFM1 key elt vxv fm_l fm_r key_to_find True = lookupFM fm_r key_to_find
lookupFM1 key elt vxv fm_l fm_r key_to_find False = lookupFM0 key elt vxv fm_l fm_r key_to_find otherwise

lookupFM0 key elt vxv fm_l fm_r key_to_find True = Just elt

lookupFM2 key elt vxv fm_l fm_r key_to_find True = lookupFM fm_l key_to_find
lookupFM2 key elt vxv fm_l fm_r key_to_find False = lookupFM1 key elt vxv fm_l fm_r key_to_find (key_to_find > key)

lookupFM3 (Branch key elt vxv fm_l fm_rkey_to_find = lookupFM2 key elt vxv fm_l fm_r key_to_find (key_to_find < key)

lookupFM4 EmptyFM key = Nothing
lookupFM4 xvu xvv = lookupFM3 xvu xvv

The following Function with conditions
compare x y
 | x == y
 = EQ
 | x <= y
 = LT
 | otherwise
 = GT

is transformed to
compare x y = compare3 x y

compare2 x y True = EQ
compare2 x y False = compare1 x y (x <= y)

compare1 x y True = LT
compare1 x y False = compare0 x y otherwise

compare0 x y True = GT

compare3 x y = compare2 x y (x == y)

The following Function with conditions
gcd' x 0 = x
gcd' x y = gcd' y (x `rem` y)

is transformed to
gcd' x xvw = gcd'2 x xvw
gcd' x y = gcd'0 x y

gcd'0 x y = gcd' y (x `rem` y)

gcd'1 True x xvw = x
gcd'1 xvx xvy xvz = gcd'0 xvy xvz

gcd'2 x xvw = gcd'1 (xvw == 0) x xvw
gcd'2 xwu xwv = gcd'0 xwu xwv

The following Function with conditions
gcd 0 0 = error []
gcd x y = 
gcd' (abs x) (abs y)
where 
gcd' x 0 = x
gcd' x y = gcd' y (x `rem` y)

is transformed to
gcd xww xwx = gcd3 xww xwx
gcd x y = gcd0 x y

gcd0 x y = 
gcd' (abs x) (abs y)
where 
gcd' x xvw = gcd'2 x xvw
gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x xvw = x
gcd'1 xvx xvy xvz = gcd'0 xvy xvz
gcd'2 x xvw = gcd'1 (xvw == 0) x xvw
gcd'2 xwu xwv = gcd'0 xwu xwv

gcd1 True xww xwx = error []
gcd1 xwy xwz xxu = gcd0 xwz xxu

gcd2 True xww xwx = gcd1 (xwx == 0) xww xwx
gcd2 xxv xxw xxx = gcd0 xxw xxx

gcd3 xww xwx = gcd2 (xww == 0) xww xwx
gcd3 xxy xxz = gcd0 xxy xxz

The following Function with conditions
absReal x
 | x >= 0
 = x
 | otherwise
 = `negate` x

is transformed to
absReal x = absReal2 x

absReal0 x True = `negate` x

absReal1 x True = x
absReal1 x False = absReal0 x otherwise

absReal2 x = absReal1 x (x >= 0)

The following Function with conditions
undefined 
 | False
 = undefined

is transformed to
undefined  = undefined1

undefined0 True = undefined

undefined1  = undefined0 False

The following Function with conditions
reduce x y
 | y == 0
 = error []
 | otherwise
 = x `quot` d :% (y `quot` d)
where 
d  = gcd x y

is transformed to
reduce x y = reduce2 x y

reduce2 x y = 
reduce1 x y (y == 0)
where 
d  = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error []
reduce1 x y False = reduce0 x y otherwise



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
HASKELL
                      ↳ LetRed

mainModule FiniteMap
  ((plusFM_C :: (Ord b, Ord a) => (c  ->  c  ->  c ->  FiniteMap (Either a b) c  ->  FiniteMap (Either a b) c  ->  FiniteMap (Either a b) c) :: (Ord b, Ord a) => (c  ->  c  ->  c ->  FiniteMap (Either a b) c  ->  FiniteMap (Either a b) c  ->  FiniteMap (Either a b) c)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord a => FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord a => (b  ->  b  ->  b ->  FiniteMap a b  ->  a  ->  b  ->  FiniteMap a b
addToFM_C combiner EmptyFM key elt addToFM_C4 combiner EmptyFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt addToFM_C3 combiner (Branch key elt size fm_l fm_r) new_key new_elt

  
addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt True Branch new_key (combiner elt new_elt) size fm_l fm_r

  
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt True mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt False addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt otherwise

  
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt True mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt False addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt (new_key > key)

  
addToFM_C3 combiner (Branch key elt size fm_l fm_rnew_key new_elt addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt (new_key < key)

  
addToFM_C4 combiner EmptyFM key elt unitFM key elt
addToFM_C4 xuu xuv xuw xux addToFM_C3 xuu xuv xuw xux

  emptyFM :: FiniteMap a b
emptyFM EmptyFM

  findMax :: FiniteMap a b  ->  (a,b)
findMax (Branch key elt vwx vwy EmptyFM(key,elt)
findMax (Branch key elt vwz vxu fm_rfindMax fm_r

  findMin :: FiniteMap b a  ->  (b,a)
findMin (Branch key elt wz EmptyFM xu(key,elt)
findMin (Branch key elt xv fm_l xwfindMin fm_l

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (a  ->  c  ->  b  ->  b ->  b  ->  FiniteMap a c  ->  b
foldFM k z EmptyFM z
foldFM k z (Branch key elt wy fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key lookupFM4 EmptyFM key
lookupFM (Branch key elt vxv fm_l fm_rkey_to_find lookupFM3 (Branch key elt vxv fm_l fm_r) key_to_find

  
lookupFM0 key elt vxv fm_l fm_r key_to_find True Just elt

  
lookupFM1 key elt vxv fm_l fm_r key_to_find True lookupFM fm_r key_to_find
lookupFM1 key elt vxv fm_l fm_r key_to_find False lookupFM0 key elt vxv fm_l fm_r key_to_find otherwise

  
lookupFM2 key elt vxv fm_l fm_r key_to_find True lookupFM fm_l key_to_find
lookupFM2 key elt vxv fm_l fm_r key_to_find False lookupFM1 key elt vxv fm_l fm_r key_to_find (key_to_find > key)

  
lookupFM3 (Branch key elt vxv fm_l fm_rkey_to_find lookupFM2 key elt vxv fm_l fm_r key_to_find (key_to_find < key)

  
lookupFM4 EmptyFM key Nothing
lookupFM4 xvu xvv lookupFM3 xvu xvv

  mkBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBalBranch key elt fm_L fm_R mkBalBranch6 key elt fm_L fm_R

  
mkBalBranch6 key elt fm_L fm_R 
mkBalBranch5 key elt fm_L fm_R (size_l + size_r < 2) where 
double_L fm_l (Branch key_r elt_r vvx (Branch key_rl elt_rl vvy fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l vuy fm_ll (Branch key_lr elt_lr vuz fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rrmkBalBranch02 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)
mkBalBranch00 fm_L fm_R vvz vwu vwv fm_rl fm_rr True double_L fm_L fm_R
mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr True single_L fm_L fm_R
mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr False mkBalBranch00 fm_L fm_R vvz vwu vwv fm_rl fm_rr otherwise
mkBalBranch02 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rrmkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)
mkBalBranch1 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lrmkBalBranch12 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)
mkBalBranch10 fm_L fm_R vvu vvv vvw fm_ll fm_lr True double_R fm_L fm_R
mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr True single_R fm_L fm_R
mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr False mkBalBranch10 fm_L fm_R vvu vvv vvw fm_ll fm_lr otherwise
mkBalBranch12 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lrmkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)
mkBalBranch2 key elt fm_L fm_R True mkBranch 2 key elt fm_L fm_R
mkBalBranch3 key elt fm_L fm_R True mkBalBranch1 fm_L fm_R fm_L
mkBalBranch3 key elt fm_L fm_R False mkBalBranch2 key elt fm_L fm_R otherwise
mkBalBranch4 key elt fm_L fm_R True mkBalBranch0 fm_L fm_R fm_R
mkBalBranch4 key elt fm_L fm_R False mkBalBranch3 key elt fm_L fm_R (size_l > sIZE_RATIO * size_r)
mkBalBranch5 key elt fm_L fm_R True mkBranch 1 key elt fm_L fm_R
mkBalBranch5 key elt fm_L fm_R False mkBalBranch4 key elt fm_L fm_R (size_r > sIZE_RATIO * size_l)
single_L fm_l (Branch key_r elt_r vww fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rl) fm_rr
single_R (Branch key_l elt_l vux fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l sizeFM fm_L
size_r sizeFM fm_R

  mkBranch :: Ord a => Int  ->  a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBranch which key elt fm_l fm_r 
let 
result Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
 where 
balance_ok True
left_ok left_ok0 fm_l key fm_l
left_ok0 fm_l key EmptyFM True
left_ok0 fm_l key (Branch left_key vw vx vy vz
let 
biggest_left_key fst (findMax fm_l)
in biggest_left_key < key
left_size sizeFM fm_l
right_ok right_ok0 fm_r key fm_r
right_ok0 fm_r key EmptyFM True
right_ok0 fm_r key (Branch right_key wu wv ww wx
let 
smallest_right_key fst (findMin fm_r)
in key < smallest_right_key
right_size sizeFM fm_r
unbox :: Int  ->  Int
unbox x x

  mkVBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkVBalBranch key elt EmptyFM fm_r mkVBalBranch5 key elt EmptyFM fm_r
mkVBalBranch key elt fm_l EmptyFM mkVBalBranch4 key elt fm_l EmptyFM
mkVBalBranch key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuwmkVBalBranch3 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)

  
mkVBalBranch3 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw
mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * size_l < size_r) where 
mkVBalBranch0 key elt yy yz zu zv zw zy zz vuu vuv vuw True mkBranch 13 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)
mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw True mkBalBranch yy yz zv (mkVBalBranch key elt zw (Branch zy zz vuu vuv vuw))
mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw False mkVBalBranch0 key elt yy yz zu zv zw zy zz vuu vuv vuw otherwise
mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw True mkBalBranch zy zz (mkVBalBranch key elt (Branch yy yz zu zv zw) vuv) vuw
mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw False mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * size_r < size_l)
size_l sizeFM (Branch yy yz zu zv zw)
size_r sizeFM (Branch zy zz vuu vuv vuw)

  
mkVBalBranch4 key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch4 wxz wyu wyv wyw mkVBalBranch3 wxz wyu wyv wyw

  
mkVBalBranch5 key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch5 wyy wyz wzu wzv mkVBalBranch4 wyy wyz wzu wzv

  plusFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
plusFM_C combiner EmptyFM fm2 fm2
plusFM_C combiner fm1 EmptyFM fm1
plusFM_C combiner fm1 (Branch split_key elt2 vxw left right
mkVBalBranch split_key new_elt (plusFM_C combiner lts left) (plusFM_C combiner gts right) where 
gts splitGT fm1 split_key
lts splitLT fm1 split_key
new_elt new_elt0 elt2 combiner (lookupFM fm1 split_key)
new_elt0 elt2 combiner Nothing elt2
new_elt0 elt2 combiner (Just elt1combiner elt1 elt2

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch xz yu size yv ywsize

  splitGT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitGT EmptyFM split_key splitGT4 EmptyFM split_key
splitGT (Branch key elt xy fm_l fm_rsplit_key splitGT3 (Branch key elt xy fm_l fm_r) split_key

  
splitGT0 key elt xy fm_l fm_r split_key True fm_r

  
splitGT1 key elt xy fm_l fm_r split_key True mkVBalBranch key elt (splitGT fm_l split_key) fm_r
splitGT1 key elt xy fm_l fm_r split_key False splitGT0 key elt xy fm_l fm_r split_key otherwise

  
splitGT2 key elt xy fm_l fm_r split_key True splitGT fm_r split_key
splitGT2 key elt xy fm_l fm_r split_key False splitGT1 key elt xy fm_l fm_r split_key (split_key < key)

  
splitGT3 (Branch key elt xy fm_l fm_rsplit_key splitGT2 key elt xy fm_l fm_r split_key (split_key > key)

  
splitGT4 EmptyFM split_key emptyFM
splitGT4 wxu wxv splitGT3 wxu wxv

  splitLT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitLT EmptyFM split_key splitLT4 EmptyFM split_key
splitLT (Branch key elt xx fm_l fm_rsplit_key splitLT3 (Branch key elt xx fm_l fm_r) split_key

  
splitLT0 key elt xx fm_l fm_r split_key True fm_l

  
splitLT1 key elt xx fm_l fm_r split_key True mkVBalBranch key elt fm_l (splitLT fm_r split_key)
splitLT1 key elt xx fm_l fm_r split_key False splitLT0 key elt xx fm_l fm_r split_key otherwise

  
splitLT2 key elt xx fm_l fm_r split_key True splitLT fm_l split_key
splitLT2 key elt xx fm_l fm_r split_key False splitLT1 key elt xx fm_l fm_r split_key (split_key > key)

  
splitLT3 (Branch key elt xx fm_l fm_rsplit_key splitLT2 key elt xx fm_l fm_r split_key (split_key < key)

  
splitLT4 EmptyFM split_key emptyFM
splitLT4 www wwx splitLT3 www wwx

  unitFM :: b  ->  a  ->  FiniteMap b a
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Let/Where Reductions:
The bindings of the following Let/Where expression
mkBalBranch5 key elt fm_L fm_R (size_l + size_r < 2)
where 
double_L fm_l (Branch key_r elt_r vvx (Branch key_rl elt_rl vvy fm_rll fm_rlrfm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 key elt fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)
double_R (Branch key_l elt_l vuy fm_ll (Branch key_lr elt_lr vuz fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 key elt fm_lrr fm_r)
mkBalBranch0 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch02 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)
mkBalBranch00 fm_L fm_R vvz vwu vwv fm_rl fm_rr True = double_L fm_L fm_R
mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr True = single_L fm_L fm_R
mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr False = mkBalBranch00 fm_L fm_R vvz vwu vwv fm_rl fm_rr otherwise
mkBalBranch02 fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch01 fm_L fm_R vvz vwu vwv fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)
mkBalBranch1 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch12 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)
mkBalBranch10 fm_L fm_R vvu vvv vvw fm_ll fm_lr True = double_R fm_L fm_R
mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr True = single_R fm_L fm_R
mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr False = mkBalBranch10 fm_L fm_R vvu vvv vvw fm_ll fm_lr otherwise
mkBalBranch12 fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch11 fm_L fm_R vvu vvv vvw fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)
mkBalBranch2 key elt fm_L fm_R True = mkBranch 2 key elt fm_L fm_R
mkBalBranch3 key elt fm_L fm_R True = mkBalBranch1 fm_L fm_R fm_L
mkBalBranch3 key elt fm_L fm_R False = mkBalBranch2 key elt fm_L fm_R otherwise
mkBalBranch4 key elt fm_L fm_R True = mkBalBranch0 fm_L fm_R fm_R
mkBalBranch4 key elt fm_L fm_R False = mkBalBranch3 key elt fm_L fm_R (size_l > sIZE_RATIO * size_r)
mkBalBranch5 key elt fm_L fm_R True = mkBranch 1 key elt fm_L fm_R
mkBalBranch5 key elt fm_L fm_R False = mkBalBranch4 key elt fm_L fm_R (size_r > sIZE_RATIO * size_l)
single_L fm_l (Branch key_r elt_r vww fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 key elt fm_l fm_rlfm_rr
single_R (Branch key_l elt_l vux fm_ll fm_lrfm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 key elt fm_lr fm_r)
size_l  = sizeFM fm_L
size_r  = sizeFM fm_R

are unpacked to the following functions on top level
mkBalBranch6Size_l xyu xyv xyw xyx = sizeFM xyu

mkBalBranch6Double_R xyu xyv xyw xyx (Branch key_l elt_l vuy fm_ll (Branch key_lr elt_lr vuz fm_lrl fm_lrr)) fm_r = mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 xyv xyw fm_lrr fm_r)

mkBalBranch6MkBalBranch01 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr True = mkBalBranch6Single_L xyu xyv xyw xyx fm_L fm_R
mkBalBranch6MkBalBranch01 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr False = mkBalBranch6MkBalBranch00 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr otherwise

mkBalBranch6MkBalBranch0 xyu xyv xyw xyx fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch6MkBalBranch02 xyu xyv xyw xyx fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)

mkBalBranch6MkBalBranch10 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr True = mkBalBranch6Double_R xyu xyv xyw xyx fm_L fm_R

mkBalBranch6MkBalBranch11 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr True = mkBalBranch6Single_R xyu xyv xyw xyx fm_L fm_R
mkBalBranch6MkBalBranch11 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr False = mkBalBranch6MkBalBranch10 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr otherwise

mkBalBranch6MkBalBranch5 xyu xyv xyw xyx key elt fm_L fm_R True = mkBranch 1 key elt fm_L fm_R
mkBalBranch6MkBalBranch5 xyu xyv xyw xyx key elt fm_L fm_R False = mkBalBranch6MkBalBranch4 xyu xyv xyw xyx key elt fm_L fm_R (mkBalBranch6Size_r xyu xyv xyw xyx > sIZE_RATIO * mkBalBranch6Size_l xyu xyv xyw xyx)

mkBalBranch6MkBalBranch2 xyu xyv xyw xyx key elt fm_L fm_R True = mkBranch 2 key elt fm_L fm_R

mkBalBranch6MkBalBranch3 xyu xyv xyw xyx key elt fm_L fm_R True = mkBalBranch6MkBalBranch1 xyu xyv xyw xyx fm_L fm_R fm_L
mkBalBranch6MkBalBranch3 xyu xyv xyw xyx key elt fm_L fm_R False = mkBalBranch6MkBalBranch2 xyu xyv xyw xyx key elt fm_L fm_R otherwise

mkBalBranch6MkBalBranch02 xyu xyv xyw xyx fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr) = mkBalBranch6MkBalBranch01 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)

mkBalBranch6Double_L xyu xyv xyw xyx fm_l (Branch key_r elt_r vvx (Branch key_rl elt_rl vvy fm_rll fm_rlrfm_rr) = mkBranch 5 key_rl elt_rl (mkBranch 6 xyv xyw fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)

mkBalBranch6Size_r xyu xyv xyw xyx = sizeFM xyx

mkBalBranch6Single_R xyu xyv xyw xyx (Branch key_l elt_l vux fm_ll fm_lrfm_r = mkBranch 8 key_l elt_l fm_ll (mkBranch 9 xyv xyw fm_lr fm_r)

mkBalBranch6MkBalBranch1 xyu xyv xyw xyx fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch6MkBalBranch12 xyu xyv xyw xyx fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)

mkBalBranch6Single_L xyu xyv xyw xyx fm_l (Branch key_r elt_r vww fm_rl fm_rr) = mkBranch 3 key_r elt_r (mkBranch 4 xyv xyw fm_l fm_rlfm_rr

mkBalBranch6MkBalBranch4 xyu xyv xyw xyx key elt fm_L fm_R True = mkBalBranch6MkBalBranch0 xyu xyv xyw xyx fm_L fm_R fm_R
mkBalBranch6MkBalBranch4 xyu xyv xyw xyx key elt fm_L fm_R False = mkBalBranch6MkBalBranch3 xyu xyv xyw xyx key elt fm_L fm_R (mkBalBranch6Size_l xyu xyv xyw xyx > sIZE_RATIO * mkBalBranch6Size_r xyu xyv xyw xyx)

mkBalBranch6MkBalBranch00 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr True = mkBalBranch6Double_L xyu xyv xyw xyx fm_L fm_R

mkBalBranch6MkBalBranch12 xyu xyv xyw xyx fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr) = mkBalBranch6MkBalBranch11 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)

The bindings of the following Let/Where expression
let 
result  = Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result
where 
balance_ok  = True
left_ok  = left_ok0 fm_l key fm_l
left_ok0 fm_l key EmptyFM = True
left_ok0 fm_l key (Branch left_key vw vx vy vz) = 
let 
biggest_left_key  = fst (findMax fm_l)
in biggest_left_key < key
left_size  = sizeFM fm_l
right_ok  = right_ok0 fm_r key fm_r
right_ok0 fm_r key EmptyFM = True
right_ok0 fm_r key (Branch right_key wu wv ww wx) = 
let 
smallest_right_key  = fst (findMin fm_r)
in key < smallest_right_key
right_size  = sizeFM fm_r
unbox x = x

are unpacked to the following functions on top level
mkBranchRight_ok xyy xyz xzu = mkBranchRight_ok0 xyy xyz xzu xyy xyz xyy

mkBranchLeft_ok0 xyy xyz xzu fm_l key EmptyFM = True
mkBranchLeft_ok0 xyy xyz xzu fm_l key (Branch left_key vw vx vy vz) = mkBranchLeft_ok0Biggest_left_key fm_l < key

mkBranchUnbox xyy xyz xzu x = x

mkBranchRight_ok0 xyy xyz xzu fm_r key EmptyFM = True
mkBranchRight_ok0 xyy xyz xzu fm_r key (Branch right_key wu wv ww wx) = key < mkBranchRight_ok0Smallest_right_key fm_r

mkBranchBalance_ok xyy xyz xzu = True

mkBranchLeft_size xyy xyz xzu = sizeFM xzu

mkBranchRight_size xyy xyz xzu = sizeFM xyy

mkBranchLeft_ok xyy xyz xzu = mkBranchLeft_ok0 xyy xyz xzu xzu xyz xzu

The bindings of the following Let/Where expression
let 
result  = Branch key elt (unbox (1 + left_size + right_size)) fm_l fm_r
in result

are unpacked to the following functions on top level
mkBranchResult xzv xzw xzx xzy = Branch xzv xzw (mkBranchUnbox xzx xzv xzy (1 + mkBranchLeft_size xzx xzv xzy + mkBranchRight_size xzx xzv xzy)) xzy xzx

The bindings of the following Let/Where expression
mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * size_l < size_r)
where 
mkVBalBranch0 key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBranch 13 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)
mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBalBranch yy yz zv (mkVBalBranch key elt zw (Branch zy zz vuu vuv vuw))
mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw False = mkVBalBranch0 key elt yy yz zu zv zw zy zz vuu vuv vuw otherwise
mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBalBranch zy zz (mkVBalBranch key elt (Branch yy yz zu zv zwvuvvuw
mkVBalBranch2 key elt yy yz zu zv zw zy zz vuu vuv vuw False = mkVBalBranch1 key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * size_r < size_l)
size_l  = sizeFM (Branch yy yz zu zv zw)
size_r  = sizeFM (Branch zy zz vuu vuv vuw)

are unpacked to the following functions on top level
mkVBalBranch3MkVBalBranch0 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBranch 13 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)

mkVBalBranch3MkVBalBranch1 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBalBranch yy yz zv (mkVBalBranch key elt zw (Branch zy zz vuu vuv vuw))
mkVBalBranch3MkVBalBranch1 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw False = mkVBalBranch3MkVBalBranch0 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw otherwise

mkVBalBranch3Size_r xzz yuu yuv yuw yux yuy yuz yvu yvv yvw = sizeFM (Branch xzz yuu yuv yuw yux)

mkVBalBranch3MkVBalBranch2 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw True = mkBalBranch zy zz (mkVBalBranch key elt (Branch yy yz zu zv zwvuvvuw
mkVBalBranch3MkVBalBranch2 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw False = mkVBalBranch3MkVBalBranch1 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * mkVBalBranch3Size_r xzz yuu yuv yuw yux yuy yuz yvu yvv yvw < mkVBalBranch3Size_l xzz yuu yuv yuw yux yuy yuz yvu yvv yvw)

mkVBalBranch3Size_l xzz yuu yuv yuw yux yuy yuz yvu yvv yvw = sizeFM (Branch yuy yuz yvu yvv yvw)

The bindings of the following Let/Where expression
mkVBalBranch split_key new_elt (plusFM_C combiner lts left) (plusFM_C combiner gts right)
where 
gts  = splitGT fm1 split_key
lts  = splitLT fm1 split_key
new_elt  = new_elt0 elt2 combiner (lookupFM fm1 split_key)
new_elt0 elt2 combiner Nothing = elt2
new_elt0 elt2 combiner (Just elt1) = combiner elt1 elt2

are unpacked to the following functions on top level
plusFM_CLts yvx yvy yvz ywu = splitLT yvx yvy

plusFM_CNew_elt0 yvx yvy yvz ywu elt2 combiner Nothing = elt2
plusFM_CNew_elt0 yvx yvy yvz ywu elt2 combiner (Just elt1) = combiner elt1 elt2

plusFM_CNew_elt yvx yvy yvz ywu = plusFM_CNew_elt0 yvx yvy yvz ywu yvz ywu (lookupFM yvx yvy)

plusFM_CGts yvx yvy yvz ywu = splitGT yvx yvy

The bindings of the following Let/Where expression
let 
biggest_left_key  = fst (findMax fm_l)
in biggest_left_key < key

are unpacked to the following functions on top level
mkBranchLeft_ok0Biggest_left_key ywv = fst (findMax ywv)

The bindings of the following Let/Where expression
let 
smallest_right_key  = fst (findMin fm_r)
in key < smallest_right_key

are unpacked to the following functions on top level
mkBranchRight_ok0Smallest_right_key yww = fst (findMin yww)

The bindings of the following Let/Where expression
reduce1 x y (y == 0)
where 
d  = gcd x y
reduce0 x y True = x `quot` d :% (y `quot` d)
reduce1 x y True = error []
reduce1 x y False = reduce0 x y otherwise

are unpacked to the following functions on top level
reduce2Reduce0 ywx ywy x y True = x `quot` reduce2D ywx ywy :% (y `quot` reduce2D ywx ywy)

reduce2D ywx ywy = gcd ywx ywy

reduce2Reduce1 ywx ywy x y True = error []
reduce2Reduce1 ywx ywy x y False = reduce2Reduce0 ywx ywy x y otherwise

The bindings of the following Let/Where expression
gcd' (abs x) (abs y)
where 
gcd' x xvw = gcd'2 x xvw
gcd' x y = gcd'0 x y
gcd'0 x y = gcd' y (x `rem` y)
gcd'1 True x xvw = x
gcd'1 xvx xvy xvz = gcd'0 xvy xvz
gcd'2 x xvw = gcd'1 (xvw == 0) x xvw
gcd'2 xwu xwv = gcd'0 xwu xwv

are unpacked to the following functions on top level
gcd0Gcd'1 True x xvw = x
gcd0Gcd'1 xvx xvy xvz = gcd0Gcd'0 xvy xvz

gcd0Gcd' x xvw = gcd0Gcd'2 x xvw
gcd0Gcd' x y = gcd0Gcd'0 x y

gcd0Gcd'2 x xvw = gcd0Gcd'1 (xvw == 0) x xvw
gcd0Gcd'2 xwu xwv = gcd0Gcd'0 xwu xwv

gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
HASKELL
                          ↳ NumRed

mainModule FiniteMap
  ((plusFM_C :: (Ord c, Ord a) => (b  ->  b  ->  b ->  FiniteMap (Either a c) b  ->  FiniteMap (Either a c) b  ->  FiniteMap (Either a c) b) :: (Ord a, Ord c) => (b  ->  b  ->  b ->  FiniteMap (Either a c) b  ->  FiniteMap (Either a c) b  ->  FiniteMap (Either a c) b)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap a b = EmptyFM  | Branch a b Int (FiniteMap a b) (FiniteMap a b


  instance (Eq a, Eq b) => Eq (FiniteMap a b) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord b => FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM_C combiner EmptyFM key elt addToFM_C4 combiner EmptyFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt addToFM_C3 combiner (Branch key elt size fm_l fm_r) new_key new_elt

  
addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt True Branch new_key (combiner elt new_elt) size fm_l fm_r

  
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt True mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt False addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt otherwise

  
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt True mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt False addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt (new_key > key)

  
addToFM_C3 combiner (Branch key elt size fm_l fm_rnew_key new_elt addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt (new_key < key)

  
addToFM_C4 combiner EmptyFM key elt unitFM key elt
addToFM_C4 xuu xuv xuw xux addToFM_C3 xuu xuv xuw xux

  emptyFM :: FiniteMap a b
emptyFM EmptyFM

  findMax :: FiniteMap b a  ->  (b,a)
findMax (Branch key elt vwx vwy EmptyFM(key,elt)
findMax (Branch key elt vwz vxu fm_rfindMax fm_r

  findMin :: FiniteMap b a  ->  (b,a)
findMin (Branch key elt wz EmptyFM xu(key,elt)
findMin (Branch key elt xv fm_l xwfindMin fm_l

  fmToList :: FiniteMap a b  ->  [(a,b)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (b  ->  a  ->  c  ->  c ->  c  ->  FiniteMap b a  ->  c
foldFM k z EmptyFM z
foldFM k z (Branch key elt wy fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord b => FiniteMap b a  ->  b  ->  Maybe a
lookupFM EmptyFM key lookupFM4 EmptyFM key
lookupFM (Branch key elt vxv fm_l fm_rkey_to_find lookupFM3 (Branch key elt vxv fm_l fm_r) key_to_find

  
lookupFM0 key elt vxv fm_l fm_r key_to_find True Just elt

  
lookupFM1 key elt vxv fm_l fm_r key_to_find True lookupFM fm_r key_to_find
lookupFM1 key elt vxv fm_l fm_r key_to_find False lookupFM0 key elt vxv fm_l fm_r key_to_find otherwise

  
lookupFM2 key elt vxv fm_l fm_r key_to_find True lookupFM fm_l key_to_find
lookupFM2 key elt vxv fm_l fm_r key_to_find False lookupFM1 key elt vxv fm_l fm_r key_to_find (key_to_find > key)

  
lookupFM3 (Branch key elt vxv fm_l fm_rkey_to_find lookupFM2 key elt vxv fm_l fm_r key_to_find (key_to_find < key)

  
lookupFM4 EmptyFM key Nothing
lookupFM4 xvu xvv lookupFM3 xvu xvv

  mkBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkBalBranch key elt fm_L fm_R mkBalBranch6 key elt fm_L fm_R

  
mkBalBranch6 key elt fm_L fm_R mkBalBranch6MkBalBranch5 fm_L key elt fm_R key elt fm_L fm_R (mkBalBranch6Size_l fm_L key elt fm_R + mkBalBranch6Size_r fm_L key elt fm_R < 2)

  
mkBalBranch6Double_L xyu xyv xyw xyx fm_l (Branch key_r elt_r vvx (Branch key_rl elt_rl vvy fm_rll fm_rlr) fm_rrmkBranch 5 key_rl elt_rl (mkBranch 6 xyv xyw fm_l fm_rll) (mkBranch 7 key_r elt_r fm_rlr fm_rr)

  
mkBalBranch6Double_R xyu xyv xyw xyx (Branch key_l elt_l vuy fm_ll (Branch key_lr elt_lr vuz fm_lrl fm_lrr)) fm_r mkBranch 10 key_lr elt_lr (mkBranch 11 key_l elt_l fm_ll fm_lrl) (mkBranch 12 xyv xyw fm_lrr fm_r)

  
mkBalBranch6MkBalBranch0 xyu xyv xyw xyx fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rrmkBalBranch6MkBalBranch02 xyu xyv xyw xyx fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)

  
mkBalBranch6MkBalBranch00 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr True mkBalBranch6Double_L xyu xyv xyw xyx fm_L fm_R

  
mkBalBranch6MkBalBranch01 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr True mkBalBranch6Single_L xyu xyv xyw xyx fm_L fm_R
mkBalBranch6MkBalBranch01 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr False mkBalBranch6MkBalBranch00 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr otherwise

  
mkBalBranch6MkBalBranch02 xyu xyv xyw xyx fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rrmkBalBranch6MkBalBranch01 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr (sizeFM fm_rl < 2 * sizeFM fm_rr)

  
mkBalBranch6MkBalBranch1 xyu xyv xyw xyx fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lrmkBalBranch6MkBalBranch12 xyu xyv xyw xyx fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)

  
mkBalBranch6MkBalBranch10 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr True mkBalBranch6Double_R xyu xyv xyw xyx fm_L fm_R

  
mkBalBranch6MkBalBranch11 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr True mkBalBranch6Single_R xyu xyv xyw xyx fm_L fm_R
mkBalBranch6MkBalBranch11 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr False mkBalBranch6MkBalBranch10 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr otherwise

  
mkBalBranch6MkBalBranch12 xyu xyv xyw xyx fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lrmkBalBranch6MkBalBranch11 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr (sizeFM fm_lr < 2 * sizeFM fm_ll)

  
mkBalBranch6MkBalBranch2 xyu xyv xyw xyx key elt fm_L fm_R True mkBranch 2 key elt fm_L fm_R

  
mkBalBranch6MkBalBranch3 xyu xyv xyw xyx key elt fm_L fm_R True mkBalBranch6MkBalBranch1 xyu xyv xyw xyx fm_L fm_R fm_L
mkBalBranch6MkBalBranch3 xyu xyv xyw xyx key elt fm_L fm_R False mkBalBranch6MkBalBranch2 xyu xyv xyw xyx key elt fm_L fm_R otherwise

  
mkBalBranch6MkBalBranch4 xyu xyv xyw xyx key elt fm_L fm_R True mkBalBranch6MkBalBranch0 xyu xyv xyw xyx fm_L fm_R fm_R
mkBalBranch6MkBalBranch4 xyu xyv xyw xyx key elt fm_L fm_R False mkBalBranch6MkBalBranch3 xyu xyv xyw xyx key elt fm_L fm_R (mkBalBranch6Size_l xyu xyv xyw xyx > sIZE_RATIO * mkBalBranch6Size_r xyu xyv xyw xyx)

  
mkBalBranch6MkBalBranch5 xyu xyv xyw xyx key elt fm_L fm_R True mkBranch 1 key elt fm_L fm_R
mkBalBranch6MkBalBranch5 xyu xyv xyw xyx key elt fm_L fm_R False mkBalBranch6MkBalBranch4 xyu xyv xyw xyx key elt fm_L fm_R (mkBalBranch6Size_r xyu xyv xyw xyx > sIZE_RATIO * mkBalBranch6Size_l xyu xyv xyw xyx)

  
mkBalBranch6Single_L xyu xyv xyw xyx fm_l (Branch key_r elt_r vww fm_rl fm_rrmkBranch 3 key_r elt_r (mkBranch 4 xyv xyw fm_l fm_rl) fm_rr

  
mkBalBranch6Single_R xyu xyv xyw xyx (Branch key_l elt_l vux fm_ll fm_lrfm_r mkBranch 8 key_l elt_l fm_ll (mkBranch 9 xyv xyw fm_lr fm_r)

  
mkBalBranch6Size_l xyu xyv xyw xyx sizeFM xyu

  
mkBalBranch6Size_r xyu xyv xyw xyx sizeFM xyx

  mkBranch :: Ord a => Int  ->  a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBranch which key elt fm_l fm_r mkBranchResult key elt fm_r fm_l

  
mkBranchBalance_ok xyy xyz xzu True

  
mkBranchLeft_ok xyy xyz xzu mkBranchLeft_ok0 xyy xyz xzu xzu xyz xzu

  
mkBranchLeft_ok0 xyy xyz xzu fm_l key EmptyFM True
mkBranchLeft_ok0 xyy xyz xzu fm_l key (Branch left_key vw vx vy vzmkBranchLeft_ok0Biggest_left_key fm_l < key

  
mkBranchLeft_ok0Biggest_left_key ywv fst (findMax ywv)

  
mkBranchLeft_size xyy xyz xzu sizeFM xzu

  
mkBranchResult xzv xzw xzx xzy Branch xzv xzw (mkBranchUnbox xzx xzv xzy (1 + mkBranchLeft_size xzx xzv xzy + mkBranchRight_size xzx xzv xzy)) xzy xzx

  
mkBranchRight_ok xyy xyz xzu mkBranchRight_ok0 xyy xyz xzu xyy xyz xyy

  
mkBranchRight_ok0 xyy xyz xzu fm_r key EmptyFM True
mkBranchRight_ok0 xyy xyz xzu fm_r key (Branch right_key wu wv ww wxkey < mkBranchRight_ok0Smallest_right_key fm_r

  
mkBranchRight_ok0Smallest_right_key yww fst (findMin yww)

  
mkBranchRight_size xyy xyz xzu sizeFM xyy

  mkBranchUnbox :: Ord a =>  ->  (FiniteMap a b) ( ->  a ( ->  (FiniteMap a b) (Int  ->  Int)))
mkBranchUnbox xyy xyz xzu x x

  mkVBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkVBalBranch key elt EmptyFM fm_r mkVBalBranch5 key elt EmptyFM fm_r
mkVBalBranch key elt fm_l EmptyFM mkVBalBranch4 key elt fm_l EmptyFM
mkVBalBranch key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuwmkVBalBranch3 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)

  
mkVBalBranch3 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuwmkVBalBranch3MkVBalBranch2 zy zz vuu vuv vuw yy yz zu zv zw key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * mkVBalBranch3Size_l zy zz vuu vuv vuw yy yz zu zv zw < mkVBalBranch3Size_r zy zz vuu vuv vuw yy yz zu zv zw)

  
mkVBalBranch3MkVBalBranch0 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw True mkBranch 13 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)

  
mkVBalBranch3MkVBalBranch1 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw True mkBalBranch yy yz zv (mkVBalBranch key elt zw (Branch zy zz vuu vuv vuw))
mkVBalBranch3MkVBalBranch1 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw False mkVBalBranch3MkVBalBranch0 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw otherwise

  
mkVBalBranch3MkVBalBranch2 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw True mkBalBranch zy zz (mkVBalBranch key elt (Branch yy yz zu zv zw) vuv) vuw
mkVBalBranch3MkVBalBranch2 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw False mkVBalBranch3MkVBalBranch1 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * mkVBalBranch3Size_r xzz yuu yuv yuw yux yuy yuz yvu yvv yvw < mkVBalBranch3Size_l xzz yuu yuv yuw yux yuy yuz yvu yvv yvw)

  
mkVBalBranch3Size_l xzz yuu yuv yuw yux yuy yuz yvu yvv yvw sizeFM (Branch yuy yuz yvu yvv yvw)

  
mkVBalBranch3Size_r xzz yuu yuv yuw yux yuy yuz yvu yvv yvw sizeFM (Branch xzz yuu yuv yuw yux)

  
mkVBalBranch4 key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch4 wxz wyu wyv wyw mkVBalBranch3 wxz wyu wyv wyw

  
mkVBalBranch5 key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch5 wyy wyz wzu wzv mkVBalBranch4 wyy wyz wzu wzv

  plusFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
plusFM_C combiner EmptyFM fm2 fm2
plusFM_C combiner fm1 EmptyFM fm1
plusFM_C combiner fm1 (Branch split_key elt2 vxw left rightmkVBalBranch split_key (plusFM_CNew_elt fm1 split_key elt2 combiner) (plusFM_C combiner (plusFM_CLts fm1 split_key elt2 combiner) left) (plusFM_C combiner (plusFM_CGts fm1 split_key elt2 combiner) right)

  
plusFM_CGts yvx yvy yvz ywu splitGT yvx yvy

  
plusFM_CLts yvx yvy yvz ywu splitLT yvx yvy

  
plusFM_CNew_elt yvx yvy yvz ywu plusFM_CNew_elt0 yvx yvy yvz ywu yvz ywu (lookupFM yvx yvy)

  
plusFM_CNew_elt0 yvx yvy yvz ywu elt2 combiner Nothing elt2
plusFM_CNew_elt0 yvx yvy yvz ywu elt2 combiner (Just elt1combiner elt1 elt2

  sIZE_RATIO :: Int
sIZE_RATIO 5

  sizeFM :: FiniteMap a b  ->  Int
sizeFM EmptyFM 0
sizeFM (Branch xz yu size yv ywsize

  splitGT :: Ord a => FiniteMap a b  ->  a  ->  FiniteMap a b
splitGT EmptyFM split_key splitGT4 EmptyFM split_key
splitGT (Branch key elt xy fm_l fm_rsplit_key splitGT3 (Branch key elt xy fm_l fm_r) split_key

  
splitGT0 key elt xy fm_l fm_r split_key True fm_r

  
splitGT1 key elt xy fm_l fm_r split_key True mkVBalBranch key elt (splitGT fm_l split_key) fm_r
splitGT1 key elt xy fm_l fm_r split_key False splitGT0 key elt xy fm_l fm_r split_key otherwise

  
splitGT2 key elt xy fm_l fm_r split_key True splitGT fm_r split_key
splitGT2 key elt xy fm_l fm_r split_key False splitGT1 key elt xy fm_l fm_r split_key (split_key < key)

  
splitGT3 (Branch key elt xy fm_l fm_rsplit_key splitGT2 key elt xy fm_l fm_r split_key (split_key > key)

  
splitGT4 EmptyFM split_key emptyFM
splitGT4 wxu wxv splitGT3 wxu wxv

  splitLT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitLT EmptyFM split_key splitLT4 EmptyFM split_key
splitLT (Branch key elt xx fm_l fm_rsplit_key splitLT3 (Branch key elt xx fm_l fm_r) split_key

  
splitLT0 key elt xx fm_l fm_r split_key True fm_l

  
splitLT1 key elt xx fm_l fm_r split_key True mkVBalBranch key elt fm_l (splitLT fm_r split_key)
splitLT1 key elt xx fm_l fm_r split_key False splitLT0 key elt xx fm_l fm_r split_key otherwise

  
splitLT2 key elt xx fm_l fm_r split_key True splitLT fm_l split_key
splitLT2 key elt xx fm_l fm_r split_key False splitLT1 key elt xx fm_l fm_r split_key (split_key > key)

  
splitLT3 (Branch key elt xx fm_l fm_rsplit_key splitLT2 key elt xx fm_l fm_r split_key (split_key < key)

  
splitLT4 EmptyFM split_key emptyFM
splitLT4 www wwx splitLT3 www wwx

  unitFM :: b  ->  a  ->  FiniteMap b a
unitFM key elt Branch key elt 1 emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Num Reduction: All numbers are transformed to thier corresponding representation with Pos, Neg, Succ and Zero.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
HASKELL
                              ↳ Narrow

mainModule FiniteMap
  (plusFM_C :: (Ord a, Ord b) => (c  ->  c  ->  c ->  FiniteMap (Either a b) c  ->  FiniteMap (Either a b) c  ->  FiniteMap (Either a b) c)

module FiniteMap where
  import qualified Maybe
import qualified Prelude

  data FiniteMap b a = EmptyFM  | Branch b a Int (FiniteMap b a) (FiniteMap b a


  instance (Eq a, Eq b) => Eq (FiniteMap b a) where 
   
(==) fm_1 fm_2 sizeFM fm_1 == sizeFM fm_2 && fmToList fm_1 == fmToList fm_2

  addToFM :: Ord b => FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM fm key elt addToFM_C addToFM0 fm key elt

  
addToFM0 old new new

  addToFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  b  ->  a  ->  FiniteMap b a
addToFM_C combiner EmptyFM key elt addToFM_C4 combiner EmptyFM key elt
addToFM_C combiner (Branch key elt size fm_l fm_rnew_key new_elt addToFM_C3 combiner (Branch key elt size fm_l fm_r) new_key new_elt

  
addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt True Branch new_key (combiner elt new_elt) size fm_l fm_r

  
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt True mkBalBranch key elt fm_l (addToFM_C combiner fm_r new_key new_elt)
addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt False addToFM_C0 combiner key elt size fm_l fm_r new_key new_elt otherwise

  
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt True mkBalBranch key elt (addToFM_C combiner fm_l new_key new_elt) fm_r
addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt False addToFM_C1 combiner key elt size fm_l fm_r new_key new_elt (new_key > key)

  
addToFM_C3 combiner (Branch key elt size fm_l fm_rnew_key new_elt addToFM_C2 combiner key elt size fm_l fm_r new_key new_elt (new_key < key)

  
addToFM_C4 combiner EmptyFM key elt unitFM key elt
addToFM_C4 xuu xuv xuw xux addToFM_C3 xuu xuv xuw xux

  emptyFM :: FiniteMap a b
emptyFM EmptyFM

  findMax :: FiniteMap a b  ->  (a,b)
findMax (Branch key elt vwx vwy EmptyFM(key,elt)
findMax (Branch key elt vwz vxu fm_rfindMax fm_r

  findMin :: FiniteMap a b  ->  (a,b)
findMin (Branch key elt wz EmptyFM xu(key,elt)
findMin (Branch key elt xv fm_l xwfindMin fm_l

  fmToList :: FiniteMap b a  ->  [(b,a)]
fmToList fm foldFM fmToList0 [] fm

  
fmToList0 key elt rest (key,elt: rest

  foldFM :: (a  ->  c  ->  b  ->  b ->  b  ->  FiniteMap a c  ->  b
foldFM k z EmptyFM z
foldFM k z (Branch key elt wy fm_l fm_rfoldFM k (k key elt (foldFM k z fm_r)) fm_l

  lookupFM :: Ord a => FiniteMap a b  ->  a  ->  Maybe b
lookupFM EmptyFM key lookupFM4 EmptyFM key
lookupFM (Branch key elt vxv fm_l fm_rkey_to_find lookupFM3 (Branch key elt vxv fm_l fm_r) key_to_find

  
lookupFM0 key elt vxv fm_l fm_r key_to_find True Just elt

  
lookupFM1 key elt vxv fm_l fm_r key_to_find True lookupFM fm_r key_to_find
lookupFM1 key elt vxv fm_l fm_r key_to_find False lookupFM0 key elt vxv fm_l fm_r key_to_find otherwise

  
lookupFM2 key elt vxv fm_l fm_r key_to_find True lookupFM fm_l key_to_find
lookupFM2 key elt vxv fm_l fm_r key_to_find False lookupFM1 key elt vxv fm_l fm_r key_to_find (key_to_find > key)

  
lookupFM3 (Branch key elt vxv fm_l fm_rkey_to_find lookupFM2 key elt vxv fm_l fm_r key_to_find (key_to_find < key)

  
lookupFM4 EmptyFM key Nothing
lookupFM4 xvu xvv lookupFM3 xvu xvv

  mkBalBranch :: Ord a => a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBalBranch key elt fm_L fm_R mkBalBranch6 key elt fm_L fm_R

  
mkBalBranch6 key elt fm_L fm_R mkBalBranch6MkBalBranch5 fm_L key elt fm_R key elt fm_L fm_R (mkBalBranch6Size_l fm_L key elt fm_R + mkBalBranch6Size_r fm_L key elt fm_R < Pos (Succ (Succ Zero)))

  
mkBalBranch6Double_L xyu xyv xyw xyx fm_l (Branch key_r elt_r vvx (Branch key_rl elt_rl vvy fm_rll fm_rlr) fm_rrmkBranch (Pos (Succ (Succ (Succ (Succ (Succ Zero)))))) key_rl elt_rl (mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))) xyv xyw fm_l fm_rll) (mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))) key_r elt_r fm_rlr fm_rr)

  
mkBalBranch6Double_R xyu xyv xyw xyx (Branch key_l elt_l vuy fm_ll (Branch key_lr elt_lr vuz fm_lrl fm_lrr)) fm_r mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))) key_lr elt_lr (mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))) key_l elt_l fm_ll fm_lrl) (mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))))))) xyv xyw fm_lrr fm_r)

  
mkBalBranch6MkBalBranch0 xyu xyv xyw xyx fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rrmkBalBranch6MkBalBranch02 xyu xyv xyw xyx fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rr)

  
mkBalBranch6MkBalBranch00 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr True mkBalBranch6Double_L xyu xyv xyw xyx fm_L fm_R

  
mkBalBranch6MkBalBranch01 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr True mkBalBranch6Single_L xyu xyv xyw xyx fm_L fm_R
mkBalBranch6MkBalBranch01 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr False mkBalBranch6MkBalBranch00 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr otherwise

  
mkBalBranch6MkBalBranch02 xyu xyv xyw xyx fm_L fm_R (Branch vvz vwu vwv fm_rl fm_rrmkBalBranch6MkBalBranch01 xyu xyv xyw xyx fm_L fm_R vvz vwu vwv fm_rl fm_rr (sizeFM fm_rl < Pos (Succ (Succ Zero)) * sizeFM fm_rr)

  
mkBalBranch6MkBalBranch1 xyu xyv xyw xyx fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lrmkBalBranch6MkBalBranch12 xyu xyv xyw xyx fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lr)

  
mkBalBranch6MkBalBranch10 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr True mkBalBranch6Double_R xyu xyv xyw xyx fm_L fm_R

  
mkBalBranch6MkBalBranch11 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr True mkBalBranch6Single_R xyu xyv xyw xyx fm_L fm_R
mkBalBranch6MkBalBranch11 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr False mkBalBranch6MkBalBranch10 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr otherwise

  
mkBalBranch6MkBalBranch12 xyu xyv xyw xyx fm_L fm_R (Branch vvu vvv vvw fm_ll fm_lrmkBalBranch6MkBalBranch11 xyu xyv xyw xyx fm_L fm_R vvu vvv vvw fm_ll fm_lr (sizeFM fm_lr < Pos (Succ (Succ Zero)) * sizeFM fm_ll)

  
mkBalBranch6MkBalBranch2 xyu xyv xyw xyx key elt fm_L fm_R True mkBranch (Pos (Succ (Succ Zero))) key elt fm_L fm_R

  
mkBalBranch6MkBalBranch3 xyu xyv xyw xyx key elt fm_L fm_R True mkBalBranch6MkBalBranch1 xyu xyv xyw xyx fm_L fm_R fm_L
mkBalBranch6MkBalBranch3 xyu xyv xyw xyx key elt fm_L fm_R False mkBalBranch6MkBalBranch2 xyu xyv xyw xyx key elt fm_L fm_R otherwise

  
mkBalBranch6MkBalBranch4 xyu xyv xyw xyx key elt fm_L fm_R True mkBalBranch6MkBalBranch0 xyu xyv xyw xyx fm_L fm_R fm_R
mkBalBranch6MkBalBranch4 xyu xyv xyw xyx key elt fm_L fm_R False mkBalBranch6MkBalBranch3 xyu xyv xyw xyx key elt fm_L fm_R (mkBalBranch6Size_l xyu xyv xyw xyx > sIZE_RATIO * mkBalBranch6Size_r xyu xyv xyw xyx)

  
mkBalBranch6MkBalBranch5 xyu xyv xyw xyx key elt fm_L fm_R True mkBranch (Pos (Succ Zero)) key elt fm_L fm_R
mkBalBranch6MkBalBranch5 xyu xyv xyw xyx key elt fm_L fm_R False mkBalBranch6MkBalBranch4 xyu xyv xyw xyx key elt fm_L fm_R (mkBalBranch6Size_r xyu xyv xyw xyx > sIZE_RATIO * mkBalBranch6Size_l xyu xyv xyw xyx)

  
mkBalBranch6Single_L xyu xyv xyw xyx fm_l (Branch key_r elt_r vww fm_rl fm_rrmkBranch (Pos (Succ (Succ (Succ Zero)))) key_r elt_r (mkBranch (Pos (Succ (Succ (Succ (Succ Zero))))) xyv xyw fm_l fm_rl) fm_rr

  
mkBalBranch6Single_R xyu xyv xyw xyx (Branch key_l elt_l vux fm_ll fm_lrfm_r mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero))))))))) key_l elt_l fm_ll (mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))) xyv xyw fm_lr fm_r)

  
mkBalBranch6Size_l xyu xyv xyw xyx sizeFM xyu

  
mkBalBranch6Size_r xyu xyv xyw xyx sizeFM xyx

  mkBranch :: Ord a => Int  ->  a  ->  b  ->  FiniteMap a b  ->  FiniteMap a b  ->  FiniteMap a b
mkBranch which key elt fm_l fm_r mkBranchResult key elt fm_r fm_l

  
mkBranchBalance_ok xyy xyz xzu True

  
mkBranchLeft_ok xyy xyz xzu mkBranchLeft_ok0 xyy xyz xzu xzu xyz xzu

  
mkBranchLeft_ok0 xyy xyz xzu fm_l key EmptyFM True
mkBranchLeft_ok0 xyy xyz xzu fm_l key (Branch left_key vw vx vy vzmkBranchLeft_ok0Biggest_left_key fm_l < key

  
mkBranchLeft_ok0Biggest_left_key ywv fst (findMax ywv)

  
mkBranchLeft_size xyy xyz xzu sizeFM xzu

  
mkBranchResult xzv xzw xzx xzy Branch xzv xzw (mkBranchUnbox xzx xzv xzy (Pos (Succ Zero+ mkBranchLeft_size xzx xzv xzy + mkBranchRight_size xzx xzv xzy)) xzy xzx

  
mkBranchRight_ok xyy xyz xzu mkBranchRight_ok0 xyy xyz xzu xyy xyz xyy

  
mkBranchRight_ok0 xyy xyz xzu fm_r key EmptyFM True
mkBranchRight_ok0 xyy xyz xzu fm_r key (Branch right_key wu wv ww wxkey < mkBranchRight_ok0Smallest_right_key fm_r

  
mkBranchRight_ok0Smallest_right_key yww fst (findMin yww)

  
mkBranchRight_size xyy xyz xzu sizeFM xyy

  mkBranchUnbox :: Ord a =>  ->  (FiniteMap a b) ( ->  a ( ->  (FiniteMap a b) (Int  ->  Int)))
mkBranchUnbox xyy xyz xzu x x

  mkVBalBranch :: Ord b => b  ->  a  ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
mkVBalBranch key elt EmptyFM fm_r mkVBalBranch5 key elt EmptyFM fm_r
mkVBalBranch key elt fm_l EmptyFM mkVBalBranch4 key elt fm_l EmptyFM
mkVBalBranch key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuwmkVBalBranch3 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)

  
mkVBalBranch3 key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuwmkVBalBranch3MkVBalBranch2 zy zz vuu vuv vuw yy yz zu zv zw key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * mkVBalBranch3Size_l zy zz vuu vuv vuw yy yz zu zv zw < mkVBalBranch3Size_r zy zz vuu vuv vuw yy yz zu zv zw)

  
mkVBalBranch3MkVBalBranch0 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw True mkBranch (Pos (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ (Succ Zero)))))))))))))) key elt (Branch yy yz zu zv zw) (Branch zy zz vuu vuv vuw)

  
mkVBalBranch3MkVBalBranch1 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw True mkBalBranch yy yz zv (mkVBalBranch key elt zw (Branch zy zz vuu vuv vuw))
mkVBalBranch3MkVBalBranch1 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw False mkVBalBranch3MkVBalBranch0 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw otherwise

  
mkVBalBranch3MkVBalBranch2 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw True mkBalBranch zy zz (mkVBalBranch key elt (Branch yy yz zu zv zw) vuv) vuw
mkVBalBranch3MkVBalBranch2 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw False mkVBalBranch3MkVBalBranch1 xzz yuu yuv yuw yux yuy yuz yvu yvv yvw key elt yy yz zu zv zw zy zz vuu vuv vuw (sIZE_RATIO * mkVBalBranch3Size_r xzz yuu yuv yuw yux yuy yuz yvu yvv yvw < mkVBalBranch3Size_l xzz yuu yuv yuw yux yuy yuz yvu yvv yvw)

  
mkVBalBranch3Size_l xzz yuu yuv yuw yux yuy yuz yvu yvv yvw sizeFM (Branch yuy yuz yvu yvv yvw)

  
mkVBalBranch3Size_r xzz yuu yuv yuw yux yuy yuz yvu yvv yvw sizeFM (Branch xzz yuu yuv yuw yux)

  
mkVBalBranch4 key elt fm_l EmptyFM addToFM fm_l key elt
mkVBalBranch4 wxz wyu wyv wyw mkVBalBranch3 wxz wyu wyv wyw

  
mkVBalBranch5 key elt EmptyFM fm_r addToFM fm_r key elt
mkVBalBranch5 wyy wyz wzu wzv mkVBalBranch4 wyy wyz wzu wzv

  plusFM_C :: Ord b => (a  ->  a  ->  a ->  FiniteMap b a  ->  FiniteMap b a  ->  FiniteMap b a
plusFM_C combiner EmptyFM fm2 fm2
plusFM_C combiner fm1 EmptyFM fm1
plusFM_C combiner fm1 (Branch split_key elt2 vxw left rightmkVBalBranch split_key (plusFM_CNew_elt fm1 split_key elt2 combiner) (plusFM_C combiner (plusFM_CLts fm1 split_key elt2 combiner) left) (plusFM_C combiner (plusFM_CGts fm1 split_key elt2 combiner) right)

  
plusFM_CGts yvx yvy yvz ywu splitGT yvx yvy

  
plusFM_CLts yvx yvy yvz ywu splitLT yvx yvy

  
plusFM_CNew_elt yvx yvy yvz ywu plusFM_CNew_elt0 yvx yvy yvz ywu yvz ywu (lookupFM yvx yvy)

  
plusFM_CNew_elt0 yvx yvy yvz ywu elt2 combiner Nothing elt2
plusFM_CNew_elt0 yvx yvy yvz ywu elt2 combiner (Just elt1combiner elt1 elt2

  sIZE_RATIO :: Int
sIZE_RATIO Pos (Succ (Succ (Succ (Succ (Succ Zero)))))

  sizeFM :: FiniteMap b a  ->  Int
sizeFM EmptyFM Pos Zero
sizeFM (Branch xz yu size yv ywsize

  splitGT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitGT EmptyFM split_key splitGT4 EmptyFM split_key
splitGT (Branch key elt xy fm_l fm_rsplit_key splitGT3 (Branch key elt xy fm_l fm_r) split_key

  
splitGT0 key elt xy fm_l fm_r split_key True fm_r

  
splitGT1 key elt xy fm_l fm_r split_key True mkVBalBranch key elt (splitGT fm_l split_key) fm_r
splitGT1 key elt xy fm_l fm_r split_key False splitGT0 key elt xy fm_l fm_r split_key otherwise

  
splitGT2 key elt xy fm_l fm_r split_key True splitGT fm_r split_key
splitGT2 key elt xy fm_l fm_r split_key False splitGT1 key elt xy fm_l fm_r split_key (split_key < key)

  
splitGT3 (Branch key elt xy fm_l fm_rsplit_key splitGT2 key elt xy fm_l fm_r split_key (split_key > key)

  
splitGT4 EmptyFM split_key emptyFM
splitGT4 wxu wxv splitGT3 wxu wxv

  splitLT :: Ord b => FiniteMap b a  ->  b  ->  FiniteMap b a
splitLT EmptyFM split_key splitLT4 EmptyFM split_key
splitLT (Branch key elt xx fm_l fm_rsplit_key splitLT3 (Branch key elt xx fm_l fm_r) split_key

  
splitLT0 key elt xx fm_l fm_r split_key True fm_l

  
splitLT1 key elt xx fm_l fm_r split_key True mkVBalBranch key elt fm_l (splitLT fm_r split_key)
splitLT1 key elt xx fm_l fm_r split_key False splitLT0 key elt xx fm_l fm_r split_key otherwise

  
splitLT2 key elt xx fm_l fm_r split_key True splitLT fm_l split_key
splitLT2 key elt xx fm_l fm_r split_key False splitLT1 key elt xx fm_l fm_r split_key (split_key > key)

  
splitLT3 (Branch key elt xx fm_l fm_rsplit_key splitLT2 key elt xx fm_l fm_r split_key (split_key < key)

  
splitLT4 EmptyFM split_key emptyFM
splitLT4 www wwx splitLT3 www wwx

  unitFM :: a  ->  b  ->  FiniteMap a b
unitFM key elt Branch key elt (Pos (Succ Zero)) emptyFM emptyFM


module Maybe where
  import qualified FiniteMap
import qualified Prelude



Haskell To QDPs


↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primMinusNat(Succ(ywz219200), Succ(ywz28500)) → new_primMinusNat(ywz219200, ywz28500)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primEqNat(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat(ywz50000, ywz40000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primPlusNat(Succ(ywz24800), Succ(ywz4000000)) → new_primPlusNat(ywz24800, ywz4000000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primMulNat(Succ(ywz500000), Succ(ywz400000)) → new_primMulNat(ywz500000, Succ(ywz400000))

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_primCmpNat(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat(ywz500000, ywz400000)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_esEs2(Left(ywz5000), Left(ywz4000), app(ty_[], ga), gb) → new_esEs(ywz5000, ywz4000, ga)
new_esEs1(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), app(ty_Maybe, eh), eg) → new_esEs0(ywz5000, ywz4000, eh)
new_esEs3(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), bae, app(app(ty_@2, bcc), bcd), bca) → new_esEs1(ywz5001, ywz4001, bcc, bcd)
new_esEs1(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), app(app(ty_Either, fc), fd), eg) → new_esEs2(ywz5000, ywz4000, fc, fd)
new_esEs1(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), dd, app(app(app(ty_@3, ec), ed), ee)) → new_esEs3(ywz5001, ywz4001, ec, ed, ee)
new_esEs2(Right(ywz5000), Right(ywz4000), hc, app(ty_[], hd)) → new_esEs(ywz5000, ywz4000, hd)
new_esEs3(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), app(app(ty_Either, bdf), bdg), baf, bca) → new_esEs2(ywz5000, ywz4000, bdf, bdg)
new_esEs3(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), bae, baf, app(app(app(ty_@3, bbe), bbf), bbg)) → new_esEs3(ywz5002, ywz4002, bbe, bbf, bbg)
new_esEs3(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), bae, baf, app(ty_[], bag)) → new_esEs(ywz5002, ywz4002, bag)
new_esEs3(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), bae, app(ty_Maybe, bcb), bca) → new_esEs0(ywz5001, ywz4001, bcb)
new_esEs3(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), app(app(ty_@2, bdd), bde), baf, bca) → new_esEs1(ywz5000, ywz4000, bdd, bde)
new_esEs(:(ywz5000, ywz5001), :(ywz4000, ywz4001), app(app(app(ty_@3, bg), bh), ca)) → new_esEs3(ywz5000, ywz4000, bg, bh, ca)
new_esEs3(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), app(ty_[], bdb), baf, bca) → new_esEs(ywz5000, ywz4000, bdb)
new_esEs3(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), bae, baf, app(ty_Maybe, bah)) → new_esEs0(ywz5002, ywz4002, bah)
new_esEs2(Right(ywz5000), Right(ywz4000), hc, app(app(ty_@2, hf), hg)) → new_esEs1(ywz5000, ywz4000, hf, hg)
new_esEs0(Just(ywz5000), Just(ywz4000), app(ty_Maybe, cc)) → new_esEs0(ywz5000, ywz4000, cc)
new_esEs3(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), bae, app(app(ty_Either, bce), bcf), bca) → new_esEs2(ywz5001, ywz4001, bce, bcf)
new_esEs0(Just(ywz5000), Just(ywz4000), app(ty_[], cb)) → new_esEs(ywz5000, ywz4000, cb)
new_esEs3(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), bae, app(ty_[], bbh), bca) → new_esEs(ywz5001, ywz4001, bbh)
new_esEs2(Left(ywz5000), Left(ywz4000), app(app(ty_Either, gf), gg), gb) → new_esEs2(ywz5000, ywz4000, gf, gg)
new_esEs2(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, gh), ha), hb), gb) → new_esEs3(ywz5000, ywz4000, gh, ha, hb)
new_esEs1(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), dd, app(ty_[], de)) → new_esEs(ywz5001, ywz4001, de)
new_esEs1(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), app(ty_[], ef), eg) → new_esEs(ywz5000, ywz4000, ef)
new_esEs3(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), bae, baf, app(app(ty_Either, bbc), bbd)) → new_esEs2(ywz5002, ywz4002, bbc, bbd)
new_esEs(:(ywz5000, ywz5001), :(ywz4000, ywz4001), app(ty_Maybe, bb)) → new_esEs0(ywz5000, ywz4000, bb)
new_esEs1(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), dd, app(app(ty_@2, dg), dh)) → new_esEs1(ywz5001, ywz4001, dg, dh)
new_esEs(:(ywz5000, ywz5001), :(ywz4000, ywz4001), app(app(ty_@2, bc), bd)) → new_esEs1(ywz5000, ywz4000, bc, bd)
new_esEs3(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), bae, app(app(app(ty_@3, bcg), bch), bda), bca) → new_esEs3(ywz5001, ywz4001, bcg, bch, bda)
new_esEs0(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, da), db), dc)) → new_esEs3(ywz5000, ywz4000, da, db, dc)
new_esEs(:(ywz5000, ywz5001), :(ywz4000, ywz4001), h) → new_esEs(ywz5001, ywz4001, h)
new_esEs(:(ywz5000, ywz5001), :(ywz4000, ywz4001), app(app(ty_Either, be), bf)) → new_esEs2(ywz5000, ywz4000, be, bf)
new_esEs3(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), bae, baf, app(app(ty_@2, bba), bbb)) → new_esEs1(ywz5002, ywz4002, bba, bbb)
new_esEs1(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), app(app(app(ty_@3, ff), fg), fh), eg) → new_esEs3(ywz5000, ywz4000, ff, fg, fh)
new_esEs1(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), app(app(ty_@2, fa), fb), eg) → new_esEs1(ywz5000, ywz4000, fa, fb)
new_esEs2(Right(ywz5000), Right(ywz4000), hc, app(app(ty_Either, hh), baa)) → new_esEs2(ywz5000, ywz4000, hh, baa)
new_esEs1(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), dd, app(app(ty_Either, ea), eb)) → new_esEs2(ywz5001, ywz4001, ea, eb)
new_esEs3(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), app(ty_Maybe, bdc), baf, bca) → new_esEs0(ywz5000, ywz4000, bdc)
new_esEs2(Left(ywz5000), Left(ywz4000), app(ty_Maybe, gc), gb) → new_esEs0(ywz5000, ywz4000, gc)
new_esEs1(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), dd, app(ty_Maybe, df)) → new_esEs0(ywz5001, ywz4001, df)
new_esEs2(Right(ywz5000), Right(ywz4000), hc, app(ty_Maybe, he)) → new_esEs0(ywz5000, ywz4000, he)
new_esEs2(Right(ywz5000), Right(ywz4000), hc, app(app(app(ty_@3, bab), bac), bad)) → new_esEs3(ywz5000, ywz4000, bab, bac, bad)
new_esEs0(Just(ywz5000), Just(ywz4000), app(app(ty_@2, cd), ce)) → new_esEs1(ywz5000, ywz4000, cd, ce)
new_esEs2(Left(ywz5000), Left(ywz4000), app(app(ty_@2, gd), ge), gb) → new_esEs1(ywz5000, ywz4000, gd, ge)
new_esEs(:(ywz5000, ywz5001), :(ywz4000, ywz4001), app(ty_[], ba)) → new_esEs(ywz5000, ywz4000, ba)
new_esEs0(Just(ywz5000), Just(ywz4000), app(app(ty_Either, cf), cg)) → new_esEs2(ywz5000, ywz4000, cf, cg)
new_esEs3(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), app(app(app(ty_@3, bdh), bea), beb), baf, bca) → new_esEs3(ywz5000, ywz4000, bdh, bea, beb)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_compare23(Left(@3(ywz5000, ywz5001, ywz5002)), Left(@3(ywz4000, ywz4001, ywz4002)), False, app(app(app(ty_@3, bcb), bah), app(app(app(ty_@3, beb), bec), bed)), gb) → new_ltEs3(ywz5002, ywz4002, beb, bec, bed)
new_ltEs1(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), ef, app(app(ty_@2, fa), fb)) → new_ltEs1(ywz5001, ywz4001, fa, fb)
new_ltEs2(Right(ywz5000), Right(ywz4000), he, app(ty_Maybe, hg)) → new_ltEs(ywz5000, ywz4000, hg)
new_ltEs1(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), app(app(ty_Either, ea), eb), df) → new_lt0(ywz5000, ywz4000, ea, eb)
new_ltEs3(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), bcb, app(ty_[], bcc), bba) → new_lt(ywz5001, ywz4001, bcc)
new_ltEs1(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), app(ty_Maybe, cc), df) → new_compare20(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, cc), cc)
new_lt3(ywz5000, ywz4000, ec, ed, ee) → new_compare22(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, ec, ed, ee), ec, ed, ee)
new_ltEs2(Left(ywz5000), Left(ywz4000), app(app(ty_Either, gh), ha), gd) → new_ltEs2(ywz5000, ywz4000, gh, ha)
new_ltEs(Just(ywz5000), Just(ywz4000), app(ty_[], cd)) → new_ltEs0(ywz5000, ywz4000, cd)
new_compare23(Left(:(ywz5000, ywz5001)), Left(:(ywz4000, ywz4001)), False, app(ty_[], ba), gb) → new_primCompAux(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, ba), ba)
new_compare22(ywz5000, ywz4000, False, ec, ed, ee) → new_ltEs3(ywz5000, ywz4000, ec, ed, ee)
new_primCompAux(ywz5000, ywz4000, ywz290, app(ty_[], bb)) → new_compare(ywz5000, ywz4000, bb)
new_compare23(Left(@2(ywz5000, ywz5001)), Left(@2(ywz4000, ywz4001)), False, app(app(ty_@2, ef), app(app(app(ty_@3, ff), fg), fh)), gb) → new_ltEs3(ywz5001, ywz4001, ff, fg, fh)
new_compare23(Left(@2(ywz5000, ywz5001)), Left(@2(ywz4000, ywz4001)), False, app(app(ty_@2, ef), app(app(ty_@2, fa), fb)), gb) → new_ltEs1(ywz5001, ywz4001, fa, fb)
new_compare23(Left(@3(ywz5000, ywz5001, ywz5002)), Left(@3(ywz4000, ywz4001, ywz4002)), False, app(app(app(ty_@3, bcb), bah), app(ty_[], bdd)), gb) → new_ltEs0(ywz5002, ywz4002, bdd)
new_compare23(Right(ywz500), Right(ywz400), False, ga, app(app(app(ty_@3, bfc), bfd), bfe)) → new_ltEs3(ywz500, ywz400, bfc, bfd, bfe)
new_ltEs3(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), app(app(ty_@2, bbc), bbd), bah, bba) → new_lt2(ywz5000, ywz4000, bbc, bbd)
new_compare23(Left(Just(ywz5000)), Left(Just(ywz4000)), False, app(ty_Maybe, app(app(app(ty_@3, dc), dd), de)), gb) → new_ltEs3(ywz5000, ywz4000, dc, dd, de)
new_compare23(Left(@3(ywz5000, ywz5001, ywz5002)), Left(@3(ywz4000, ywz4001, ywz4002)), False, app(app(app(ty_@3, bcb), app(ty_[], bcc)), bba), gb) → new_lt(ywz5001, ywz4001, bcc)
new_compare23(Left(@2(ywz5000, ywz5001)), Left(@2(ywz4000, ywz4001)), False, app(app(ty_@2, app(app(ty_Either, ea), eb)), df), gb) → new_lt0(ywz5000, ywz4000, ea, eb)
new_ltEs1(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), ef, app(ty_Maybe, eh)) → new_ltEs(ywz5001, ywz4001, eh)
new_compare23(Left(Just(ywz5000)), Left(Just(ywz4000)), False, app(ty_Maybe, app(ty_[], cd)), gb) → new_ltEs0(ywz5000, ywz4000, cd)
new_compare23(Left(Right(ywz5000)), Left(Right(ywz4000)), False, app(app(ty_Either, he), app(app(ty_Either, bab), bac)), gb) → new_ltEs2(ywz5000, ywz4000, bab, bac)
new_ltEs1(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), app(ty_[], h), df) → new_compare(ywz5000, ywz4000, h)
new_compare23(Left(Left(ywz5000)), Left(Left(ywz4000)), False, app(app(ty_Either, app(app(ty_@2, gf), gg)), gd), gb) → new_ltEs1(ywz5000, ywz4000, gf, gg)
new_compare23(Left(Just(ywz5000)), Left(Just(ywz4000)), False, app(ty_Maybe, app(app(ty_Either, da), db)), gb) → new_ltEs2(ywz5000, ywz4000, da, db)
new_lt2(ywz5000, ywz4000, dg, dh) → new_compare21(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, dg, dh), dg, dh)
new_compare23(Left(@3(ywz5000, ywz5001, ywz5002)), Left(@3(ywz4000, ywz4001, ywz4002)), False, app(app(app(ty_@3, app(ty_Maybe, bbb)), bah), bba), gb) → new_lt1(ywz5000, ywz4000, bbb)
new_compare23(Left(Left(ywz5000)), Left(Left(ywz4000)), False, app(app(ty_Either, app(ty_Maybe, ge)), gd), gb) → new_ltEs(ywz5000, ywz4000, ge)
new_ltEs1(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), app(app(app(ty_@3, ec), ed), ee), df) → new_compare22(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, ec, ed, ee), ec, ed, ee)
new_compare23(Left(@2(ywz5000, ywz5001)), Left(@2(ywz4000, ywz4001)), False, app(app(ty_@2, app(ty_[], h)), df), gb) → new_compare(ywz5000, ywz4000, h)
new_ltEs2(Right(ywz5000), Right(ywz4000), he, app(ty_[], hf)) → new_ltEs0(ywz5000, ywz4000, hf)
new_compare23(Left(Left(ywz5000)), Left(Left(ywz4000)), False, app(app(ty_Either, app(app(ty_Either, gh), ha)), gd), gb) → new_ltEs2(ywz5000, ywz4000, gh, ha)
new_compare23(Right(ywz500), Right(ywz400), False, ga, app(ty_Maybe, bef)) → new_ltEs(ywz500, ywz400, bef)
new_compare23(Left(@3(ywz5000, ywz5001, ywz5002)), Left(@3(ywz4000, ywz4001, ywz4002)), False, app(app(app(ty_@3, bcb), app(app(ty_@2, bce), bcf)), bba), gb) → new_lt2(ywz5001, ywz4001, bce, bcf)
new_compare23(Left(@3(ywz5000, ywz5001, ywz5002)), Left(@3(ywz4000, ywz4001, ywz4002)), False, app(app(app(ty_@3, bcb), bah), app(app(ty_Either, bdh), bea)), gb) → new_ltEs2(ywz5002, ywz4002, bdh, bea)
new_ltEs3(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), bcb, app(ty_Maybe, bcd), bba) → new_lt1(ywz5001, ywz4001, bcd)
new_ltEs3(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), bcb, bah, app(app(ty_@2, bdf), bdg)) → new_ltEs1(ywz5002, ywz4002, bdf, bdg)
new_ltEs3(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), app(ty_Maybe, bbb), bah, bba) → new_lt1(ywz5000, ywz4000, bbb)
new_primCompAux(ywz5000, ywz4000, ywz290, app(ty_Maybe, bc)) → new_compare1(ywz5000, ywz4000, bc)
new_primCompAux(ywz5000, ywz4000, ywz290, app(app(ty_Either, bf), bg)) → new_compare3(ywz5000, ywz4000, bf, bg)
new_lt0(ywz50, ywz40, ga, gb) → new_compare23(ywz50, ywz40, new_esEs7(ywz50, ywz40, ga, gb), ga, gb)
new_compare23(Left(@2(ywz5000, ywz5001)), Left(@2(ywz4000, ywz4001)), False, app(app(ty_@2, ef), app(ty_Maybe, eh)), gb) → new_ltEs(ywz5001, ywz4001, eh)
new_ltEs3(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), bcb, app(app(app(ty_@3, bda), bdb), bdc), bba) → new_lt3(ywz5001, ywz4001, bda, bdb, bdc)
new_compare23(Left(@3(ywz5000, ywz5001, ywz5002)), Left(@3(ywz4000, ywz4001, ywz4002)), False, app(app(app(ty_@3, bcb), app(app(app(ty_@3, bda), bdb), bdc)), bba), gb) → new_lt3(ywz5001, ywz4001, bda, bdb, bdc)
new_ltEs1(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), ef, app(app(app(ty_@3, ff), fg), fh)) → new_ltEs3(ywz5001, ywz4001, ff, fg, fh)
new_compare4(ywz5000, ywz4000, ec, ed, ee) → new_compare22(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, ec, ed, ee), ec, ed, ee)
new_compare23(Left(@2(ywz5000, ywz5001)), Left(@2(ywz4000, ywz4001)), False, app(app(ty_@2, app(app(app(ty_@3, ec), ed), ee)), df), gb) → new_compare22(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, ec, ed, ee), ec, ed, ee)
new_ltEs2(Right(ywz5000), Right(ywz4000), he, app(app(app(ty_@3, bad), bae), baf)) → new_ltEs3(ywz5000, ywz4000, bad, bae, baf)
new_ltEs3(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), app(app(ty_Either, bbe), bbf), bah, bba) → new_lt0(ywz5000, ywz4000, bbe, bbf)
new_compare23(Left(:(ywz5000, ywz5001)), Left(:(ywz4000, ywz4001)), False, app(ty_[], ba), gb) → new_compare(ywz5001, ywz4001, ba)
new_compare23(Left(@3(ywz5000, ywz5001, ywz5002)), Left(@3(ywz4000, ywz4001, ywz4002)), False, app(app(app(ty_@3, app(app(ty_Either, bbe), bbf)), bah), bba), gb) → new_lt0(ywz5000, ywz4000, bbe, bbf)
new_compare23(Right(ywz500), Right(ywz400), False, ga, app(app(ty_@2, beg), beh)) → new_ltEs1(ywz500, ywz400, beg, beh)
new_ltEs2(Left(ywz5000), Left(ywz4000), app(ty_[], gc), gd) → new_ltEs0(ywz5000, ywz4000, gc)
new_ltEs0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), ba) → new_compare(ywz5001, ywz4001, ba)
new_ltEs2(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, hb), hc), hd), gd) → new_ltEs3(ywz5000, ywz4000, hb, hc, hd)
new_compare23(Left(@3(ywz5000, ywz5001, ywz5002)), Left(@3(ywz4000, ywz4001, ywz4002)), False, app(app(app(ty_@3, app(ty_[], bag)), bah), bba), gb) → new_lt(ywz5000, ywz4000, bag)
new_compare23(Left(@3(ywz5000, ywz5001, ywz5002)), Left(@3(ywz4000, ywz4001, ywz4002)), False, app(app(app(ty_@3, app(app(app(ty_@3, bbg), bbh), bca)), bah), bba), gb) → new_lt3(ywz5000, ywz4000, bbg, bbh, bca)
new_ltEs3(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), app(ty_[], bag), bah, bba) → new_lt(ywz5000, ywz4000, bag)
new_compare23(Left(@3(ywz5000, ywz5001, ywz5002)), Left(@3(ywz4000, ywz4001, ywz4002)), False, app(app(app(ty_@3, bcb), bah), app(ty_Maybe, bde)), gb) → new_ltEs(ywz5002, ywz4002, bde)
new_compare2(ywz5000, ywz4000, dg, dh) → new_compare21(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, dg, dh), dg, dh)
new_ltEs2(Left(ywz5000), Left(ywz4000), app(ty_Maybe, ge), gd) → new_ltEs(ywz5000, ywz4000, ge)
new_compare23(Left(Just(ywz5000)), Left(Just(ywz4000)), False, app(ty_Maybe, app(ty_Maybe, ce)), gb) → new_ltEs(ywz5000, ywz4000, ce)
new_ltEs2(Right(ywz5000), Right(ywz4000), he, app(app(ty_@2, hh), baa)) → new_ltEs1(ywz5000, ywz4000, hh, baa)
new_lt1(ywz5000, ywz4000, cc) → new_compare20(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, cc), cc)
new_compare23(Left(Right(ywz5000)), Left(Right(ywz4000)), False, app(app(ty_Either, he), app(app(app(ty_@3, bad), bae), baf)), gb) → new_ltEs3(ywz5000, ywz4000, bad, bae, baf)
new_compare23(Left(Left(ywz5000)), Left(Left(ywz4000)), False, app(app(ty_Either, app(app(app(ty_@3, hb), hc), hd)), gd), gb) → new_ltEs3(ywz5000, ywz4000, hb, hc, hd)
new_ltEs(Just(ywz5000), Just(ywz4000), app(ty_Maybe, ce)) → new_ltEs(ywz5000, ywz4000, ce)
new_ltEs3(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), bcb, bah, app(ty_Maybe, bde)) → new_ltEs(ywz5002, ywz4002, bde)
new_lt(ywz5000, ywz4000, h) → new_compare(ywz5000, ywz4000, h)
new_compare23(Left(@3(ywz5000, ywz5001, ywz5002)), Left(@3(ywz4000, ywz4001, ywz4002)), False, app(app(app(ty_@3, bcb), bah), app(app(ty_@2, bdf), bdg)), gb) → new_ltEs1(ywz5002, ywz4002, bdf, bdg)
new_compare23(Left(@3(ywz5000, ywz5001, ywz5002)), Left(@3(ywz4000, ywz4001, ywz4002)), False, app(app(app(ty_@3, app(app(ty_@2, bbc), bbd)), bah), bba), gb) → new_lt2(ywz5000, ywz4000, bbc, bbd)
new_compare23(Left(Right(ywz5000)), Left(Right(ywz4000)), False, app(app(ty_Either, he), app(ty_Maybe, hg)), gb) → new_ltEs(ywz5000, ywz4000, hg)
new_compare21(ywz5000, ywz4000, False, dg, dh) → new_ltEs1(ywz5000, ywz4000, dg, dh)
new_ltEs3(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), bcb, app(app(ty_@2, bce), bcf), bba) → new_lt2(ywz5001, ywz4001, bce, bcf)
new_compare23(Left(@3(ywz5000, ywz5001, ywz5002)), Left(@3(ywz4000, ywz4001, ywz4002)), False, app(app(app(ty_@3, bcb), app(app(ty_Either, bcg), bch)), bba), gb) → new_lt0(ywz5001, ywz4001, bcg, bch)
new_compare23(Right(ywz500), Right(ywz400), False, ga, app(ty_[], bee)) → new_ltEs0(ywz500, ywz400, bee)
new_ltEs1(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), app(app(ty_@2, dg), dh), df) → new_compare21(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, dg, dh), dg, dh)
new_ltEs1(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), ef, app(ty_[], eg)) → new_ltEs0(ywz5001, ywz4001, eg)
new_ltEs2(Right(ywz5000), Right(ywz4000), he, app(app(ty_Either, bab), bac)) → new_ltEs2(ywz5000, ywz4000, bab, bac)
new_ltEs0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), ba) → new_primCompAux(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, ba), ba)
new_ltEs(Just(ywz5000), Just(ywz4000), app(app(ty_Either, da), db)) → new_ltEs2(ywz5000, ywz4000, da, db)
new_compare23(Left(Right(ywz5000)), Left(Right(ywz4000)), False, app(app(ty_Either, he), app(ty_[], hf)), gb) → new_ltEs0(ywz5000, ywz4000, hf)
new_ltEs3(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), bcb, bah, app(ty_[], bdd)) → new_ltEs0(ywz5002, ywz4002, bdd)
new_ltEs(Just(ywz5000), Just(ywz4000), app(app(ty_@2, cf), cg)) → new_ltEs1(ywz5000, ywz4000, cf, cg)
new_ltEs3(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), bcb, bah, app(app(app(ty_@3, beb), bec), bed)) → new_ltEs3(ywz5002, ywz4002, beb, bec, bed)
new_primCompAux(ywz5000, ywz4000, ywz290, app(app(ty_@2, bd), be)) → new_compare2(ywz5000, ywz4000, bd, be)
new_ltEs3(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), app(app(app(ty_@3, bbg), bbh), bca), bah, bba) → new_lt3(ywz5000, ywz4000, bbg, bbh, bca)
new_compare(:(ywz5000, ywz5001), :(ywz4000, ywz4001), ba) → new_compare(ywz5001, ywz4001, ba)
new_compare23(Left(Just(ywz5000)), Left(Just(ywz4000)), False, app(ty_Maybe, app(app(ty_@2, cf), cg)), gb) → new_ltEs1(ywz5000, ywz4000, cf, cg)
new_compare23(Left(Right(ywz5000)), Left(Right(ywz4000)), False, app(app(ty_Either, he), app(app(ty_@2, hh), baa)), gb) → new_ltEs1(ywz5000, ywz4000, hh, baa)
new_compare(:(ywz5000, ywz5001), :(ywz4000, ywz4001), ba) → new_primCompAux(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, ba), ba)
new_compare1(ywz5000, ywz4000, cc) → new_compare20(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, cc), cc)
new_compare23(Left(@2(ywz5000, ywz5001)), Left(@2(ywz4000, ywz4001)), False, app(app(ty_@2, ef), app(app(ty_Either, fc), fd)), gb) → new_ltEs2(ywz5001, ywz4001, fc, fd)
new_compare23(Left(@2(ywz5000, ywz5001)), Left(@2(ywz4000, ywz4001)), False, app(app(ty_@2, ef), app(ty_[], eg)), gb) → new_ltEs0(ywz5001, ywz4001, eg)
new_ltEs3(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), bcb, app(app(ty_Either, bcg), bch), bba) → new_lt0(ywz5001, ywz4001, bcg, bch)
new_compare23(Left(Left(ywz5000)), Left(Left(ywz4000)), False, app(app(ty_Either, app(ty_[], gc)), gd), gb) → new_ltEs0(ywz5000, ywz4000, gc)
new_ltEs2(Left(ywz5000), Left(ywz4000), app(app(ty_@2, gf), gg), gd) → new_ltEs1(ywz5000, ywz4000, gf, gg)
new_ltEs3(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), bcb, bah, app(app(ty_Either, bdh), bea)) → new_ltEs2(ywz5002, ywz4002, bdh, bea)
new_compare23(Left(@2(ywz5000, ywz5001)), Left(@2(ywz4000, ywz4001)), False, app(app(ty_@2, app(app(ty_@2, dg), dh)), df), gb) → new_compare21(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, dg, dh), dg, dh)
new_ltEs(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, dc), dd), de)) → new_ltEs3(ywz5000, ywz4000, dc, dd, de)
new_compare3(ywz50, ywz40, ga, gb) → new_compare23(ywz50, ywz40, new_esEs7(ywz50, ywz40, ga, gb), ga, gb)
new_compare23(Right(ywz500), Right(ywz400), False, ga, app(app(ty_Either, bfa), bfb)) → new_ltEs2(ywz500, ywz400, bfa, bfb)
new_compare23(Left(@3(ywz5000, ywz5001, ywz5002)), Left(@3(ywz4000, ywz4001, ywz4002)), False, app(app(app(ty_@3, bcb), app(ty_Maybe, bcd)), bba), gb) → new_lt1(ywz5001, ywz4001, bcd)
new_primCompAux(ywz5000, ywz4000, ywz290, app(app(app(ty_@3, bh), ca), cb)) → new_compare4(ywz5000, ywz4000, bh, ca, cb)
new_compare23(Left(@2(ywz5000, ywz5001)), Left(@2(ywz4000, ywz4001)), False, app(app(ty_@2, app(ty_Maybe, cc)), df), gb) → new_compare20(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, cc), cc)
new_compare20(ywz5000, ywz4000, False, cc) → new_ltEs(ywz5000, ywz4000, cc)
new_ltEs1(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), ef, app(app(ty_Either, fc), fd)) → new_ltEs2(ywz5001, ywz4001, fc, fd)

The TRS R consists of the following rules:

new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Maybe, ce)) → new_esEs4(ywz5000, ywz4000, ce)
new_lt14(ywz5000, ywz4000) → new_esEs8(new_compare5(ywz5000, ywz4000), LT)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_Either, gh), ha), gd) → new_esEs7(ywz5000, ywz4000, gh, ha)
new_compare31(ywz5000, ywz4000, ty_Double) → new_compare15(ywz5000, ywz4000)
new_primCmpNat2(Zero, ywz50000) → LT
new_esEs12(:(ywz5000, ywz5001), :(ywz4000, ywz4001), ba) → new_asAs(new_esEs20(ywz5000, ywz4000, ba), new_esEs12(ywz5001, ywz4001, ba))
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_ltEs11(ywz500, ywz400) → new_not(new_esEs8(new_compare9(ywz500, ywz400), GT))
new_ltEs20(ywz500, ywz400, app(ty_Ratio, bhb)) → new_ltEs9(ywz500, ywz400, bhb)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Maybe, ge), gd) → new_esEs4(ywz5000, ywz4000, ge)
new_ltEs18(ywz5002, ywz4002, ty_Float) → new_ltEs15(ywz5002, ywz4002)
new_esEs4(Nothing, Just(ywz4000), bgh) → False
new_esEs4(Just(ywz5000), Nothing, bgh) → False
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_compare24(Left(ywz500), Left(ywz400), False, ga, gb) → new_compare14(ywz500, ywz400, new_ltEs19(ywz500, ywz400, ga), ga, gb)
new_ltEs4(Right(ywz5000), Right(ywz4000), he, ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_compare26(ywz5000, ywz4000, False) → new_compare13(ywz5000, ywz4000, new_ltEs6(ywz5000, ywz4000))
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_ltEs20(ywz500, ywz400, app(ty_[], bee)) → new_ltEs7(ywz500, ywz400, bee)
new_esEs9(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_compare31(ywz5000, ywz4000, ty_Int) → new_compare8(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Ordering) → new_compare16(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_primMulNat0(Zero, Zero) → Zero
new_lt6(ywz5001, ywz4001, ty_Bool) → new_lt4(ywz5001, ywz4001)
new_esEs7(Right(ywz5000), Right(ywz4000), he, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, dc), dd), de)) → new_esEs6(ywz5000, ywz4000, dc, dd, de)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Int, gd) → new_ltEs5(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bc)) → new_esEs4(ywz5000, ywz4000, bc)
new_ltEs21(ywz5001, ywz4001, app(app(app(ty_@3, ff), fg), fh)) → new_ltEs17(ywz5001, ywz4001, ff, fg, fh)
new_ltEs10(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), ef, df) → new_pePe(new_lt20(ywz5000, ywz4000, ef), new_asAs(new_esEs28(ywz5000, ywz4000, ef), new_ltEs21(ywz5001, ywz4001, df)))
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_ltEs20(ywz500, ywz400, app(ty_Maybe, bef)) → new_ltEs8(ywz500, ywz400, bef)
new_ltEs4(Right(ywz5000), Right(ywz4000), he, ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), he, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_lt10(ywz5000, ywz4000, cc) → new_esEs8(new_compare32(ywz5000, ywz4000, cc), LT)
new_ltEs14(False, True) → True
new_esEs25(ywz5002, ywz4002, ty_Bool) → new_esEs17(ywz5002, ywz4002)
new_lt8(ywz5000, ywz4000) → new_esEs8(new_compare16(ywz5000, ywz4000), LT)
new_esEs26(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, ty_Double) → new_esEs16(ywz5002, ywz4002)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Double, gd) → new_ltEs13(ywz5000, ywz4000)
new_compare24(Left(ywz500), Right(ywz400), False, ga, gb) → LT
new_ltEs9(ywz500, ywz400, bha) → new_not(new_esEs8(new_compare7(ywz500, ywz400, bha), GT))
new_compare5(Char(ywz5000), Char(ywz4000)) → new_primCmpNat0(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, gf), gg), gd) → new_ltEs10(ywz5000, ywz4000, gf, gg)
new_esEs17(True, True) → True
new_esEs18(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs18(ywz5002, ywz4002, app(ty_Ratio, bgb)) → new_ltEs9(ywz5002, ywz4002, bgb)
new_esEs12([], [], ba) → True
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bge)) → new_esEs13(ywz5000, ywz4000, bge)
new_ltEs15(ywz500, ywz400) → new_not(new_esEs8(new_compare10(ywz500, ywz400), GT))
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Integer, gd) → new_esEs14(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, ty_Int) → new_ltEs5(ywz5001, ywz4001)
new_esEs22(ywz5000, ywz4000, app(app(ty_@2, dg), dh)) → new_esEs5(ywz5000, ywz4000, dg, dh)
new_lt9(ywz5000, ywz4000, h) → new_esEs8(new_compare0(ywz5000, ywz4000, h), LT)
new_esEs26(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, ge), gd) → new_ltEs8(ywz5000, ywz4000, ge)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Char, gd) → new_ltEs12(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(ty_Maybe, bcd)) → new_esEs4(ywz5001, ywz4001, bcd)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, hb), hc), hd), gd) → new_ltEs17(ywz5000, ywz4000, hb, hc, hd)
new_ltEs18(ywz5002, ywz4002, app(ty_[], bdd)) → new_ltEs7(ywz5002, ywz4002, bdd)
new_primCmpNat1(ywz50000, Succ(ywz40000)) → new_primCmpNat0(ywz50000, ywz40000)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(app(ty_Either, ea), eb)) → new_esEs7(ywz5000, ywz4000, ea, eb)
new_esEs7(Right(ywz5000), Right(ywz4000), he, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs9(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_ltEs19(ywz500, ywz400, app(app(ty_Either, he), gd)) → new_ltEs4(ywz500, ywz400, he, gd)
new_pePe(False, ywz225) → ywz225
new_ltEs4(Right(ywz5000), Right(ywz4000), he, ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Right(ywz4000), he, gd) → False
new_esEs7(Right(ywz5000), Left(ywz4000), he, gd) → False
new_esEs12(:(ywz5000, ywz5001), [], ba) → False
new_esEs12([], :(ywz4000, ywz4001), ba) → False
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, gd) → new_ltEs6(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_primCmpNat1(ywz50000, Zero) → GT
new_esEs28(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, bbe), bbf)) → new_esEs7(ywz5000, ywz4000, bbe, bbf)
new_esEs26(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_ltEs20(ywz500, ywz400, app(app(ty_Either, bfa), bfb)) → new_ltEs4(ywz500, ywz400, bfa, bfb)
new_ltEs4(Right(ywz5000), Right(ywz4000), he, ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhe)) → new_ltEs9(ywz5000, ywz4000, bhe)
new_ltEs6(GT, EQ) → False
new_ltEs4(Right(ywz5000), Right(ywz4000), he, app(app(ty_Either, bab), bac)) → new_ltEs4(ywz5000, ywz4000, bab, bac)
new_esEs22(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), he, ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, bd), be)) → new_esEs5(ywz5000, ywz4000, bd, be)
new_esEs14(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Right(ywz4000), he, gd) → True
new_esEs7(Right(ywz5000), Right(ywz4000), he, app(app(ty_@2, hh), baa)) → new_esEs5(ywz5000, ywz4000, hh, baa)
new_primCmpNat0(Zero, Succ(ywz400000)) → LT
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Bool, gd) → new_ltEs14(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, ty_Char) → new_lt14(ywz5001, ywz4001)
new_ltEs8(Nothing, Just(ywz4000), bgh) → True
new_ltEs19(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_esEs8(LT, LT) → True
new_lt6(ywz5001, ywz4001, ty_Ordering) → new_lt8(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bgf)) → new_esEs13(ywz5001, ywz4001, bgf)
new_esEs28(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(app(app(ty_@3, bbg), bbh), bca)) → new_lt19(ywz5000, ywz4000, bbg, bbh, bca)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Int, gd) → new_esEs11(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, bff), gd) → new_ltEs9(ywz5000, ywz4000, bff)
new_esEs25(ywz5002, ywz4002, ty_Ordering) → new_esEs8(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Double) → new_ltEs13(ywz5002, ywz4002)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_@0, gd) → new_ltEs16(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, app(ty_Ratio, bgb)) → new_esEs13(ywz5002, ywz4002, bgb)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bh), ca), cb)) → new_esEs6(ywz5000, ywz4000, bh, ca, cb)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_[], cd)) → new_ltEs7(ywz5000, ywz4000, cd)
new_pePe(True, ywz225) → True
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare8(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare9(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_compare0([], [], ba) → EQ
new_compare14(ywz147, ywz148, False, bhc, bhd) → GT
new_ltEs21(ywz5001, ywz4001, ty_Double) → new_ltEs13(ywz5001, ywz4001)
new_primEqNat0(Zero, Zero) → True
new_compare31(ywz5000, ywz4000, app(app(ty_Either, bf), bg)) → new_compare18(ywz5000, ywz4000, bf, bg)
new_compare26(ywz5000, ywz4000, True) → EQ
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(ty_[], bag)) → new_esEs12(ywz5000, ywz4000, bag)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_@2, gf), gg), gd) → new_esEs5(ywz5000, ywz4000, gf, gg)
new_ltEs21(ywz5001, ywz4001, app(ty_[], eg)) → new_ltEs7(ywz5001, ywz4001, eg)
new_primMulNat0(Succ(ywz500000), Succ(ywz400000)) → new_primPlusNat1(new_primMulNat0(ywz500000, Succ(ywz400000)), ywz400000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_[], cd)) → new_esEs12(ywz5000, ywz4000, cd)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, dc), dd), de)) → new_ltEs17(ywz5000, ywz4000, dc, dd, de)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, app(ty_Ratio, bga)) → new_esEs13(ywz5001, ywz4001, bga)
new_lt20(ywz5000, ywz4000, app(ty_[], h)) → new_lt9(ywz5000, ywz4000, h)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, bfh)) → new_esEs13(ywz5000, ywz4000, bfh)
new_esEs17(False, False) → True
new_esEs17(False, True) → False
new_esEs17(True, False) → False
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Ordering, gd) → new_esEs8(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(app(ty_Either, bbe), bbf)) → new_lt16(ywz5000, ywz4000, bbe, bbf)
new_esEs15(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_ltEs18(ywz5002, ywz4002, ty_Int) → new_ltEs5(ywz5002, ywz4002)
new_ltEs19(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_esEs7(Right(ywz5000), Right(ywz4000), he, app(app(app(ty_@3, bad), bae), baf)) → new_esEs6(ywz5000, ywz4000, bad, bae, baf)
new_sr(ywz5000, ywz4000) → new_primMulInt(ywz5000, ywz4000)
new_compare12(ywz154, ywz155, False, bgc, bgd) → GT
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_[], bag)) → new_lt9(ywz5000, ywz4000, bag)
new_esEs26(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_ltEs6(EQ, GT) → True
new_esEs8(GT, GT) → True
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_ltEs18(ywz5002, ywz4002, ty_Ordering) → new_ltEs6(ywz5002, ywz4002)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat1(ywz50000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), he, app(app(ty_Either, bab), bac)) → new_esEs7(ywz5000, ywz4000, bab, bac)
new_esEs26(ywz5001, ywz4001, app(app(app(ty_@3, bda), bdb), bdc)) → new_esEs6(ywz5001, ywz4001, bda, bdb, bdc)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_compare25(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs14(ywz5000, ywz4000))
new_esEs8(LT, GT) → False
new_esEs8(GT, LT) → False
new_lt17(ywz5000, ywz4000) → new_esEs8(new_compare10(ywz5000, ywz4000), LT)
new_compare29(ywz5000, ywz4000, False, cc) → new_compare110(ywz5000, ywz4000, new_ltEs8(ywz5000, ywz4000, cc), cc)
new_compare16(ywz5000, ywz4000) → new_compare26(ywz5000, ywz4000, new_esEs8(ywz5000, ywz4000))
new_esEs25(ywz5002, ywz4002, app(ty_[], bdd)) → new_esEs12(ywz5002, ywz4002, bdd)
new_compare17(ywz5000, ywz4000, ec, ed, ee) → new_compare210(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, ec, ed, ee), ec, ed, ee)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_compare25(ywz5000, ywz4000, True) → EQ
new_ltEs20(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), he, ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(ty_Ratio, bgg)) → new_lt11(ywz5000, ywz4000, bgg)
new_compare6(ywz5000, ywz4000) → new_compare25(ywz5000, ywz4000, new_esEs17(ywz5000, ywz4000))
new_ltEs19(ywz500, ywz400, app(app(ty_@2, ef), df)) → new_ltEs10(ywz500, ywz400, ef, df)
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(app(app(ty_@3, ec), ed), ee)) → new_esEs6(ywz5000, ywz4000, ec, ed, ee)
new_esEs28(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_compare13(ywz5000, ywz4000, False) → GT
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs28(ywz5000, ywz4000, app(ty_Maybe, cc)) → new_esEs4(ywz5000, ywz4000, cc)
new_ltEs19(ywz500, ywz400, app(ty_Ratio, bha)) → new_ltEs9(ywz500, ywz400, bha)
new_esEs7(Right(ywz5000), Right(ywz4000), he, app(ty_Ratio, bfg)) → new_esEs13(ywz5000, ywz4000, bfg)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_lt13(ywz5000, ywz4000) → new_esEs8(new_compare9(ywz5000, ywz4000), LT)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Ratio, bff), gd) → new_esEs13(ywz5000, ywz4000, bff)
new_esEs9(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(ty_Ratio, bga)) → new_lt11(ywz5001, ywz4001, bga)
new_ltEs6(EQ, EQ) → True
new_ltEs20(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_primCmpNat2(Succ(ywz40000), ywz50000) → new_primCmpNat0(ywz40000, ywz50000)
new_compare8(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, gh), ha), gd) → new_ltEs4(ywz5000, ywz4000, gh, ha)
new_ltEs19(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_primCompAux0(ywz333, GT) → GT
new_esEs8(EQ, EQ) → True
new_primPlusNat1(Zero, ywz400000) → Succ(ywz400000)
new_ltEs6(GT, GT) → True
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_compare24(ywz50, ywz40, True, ga, gb) → EQ
new_compare31(ywz5000, ywz4000, ty_@0) → new_compare28(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, app(app(ty_Either, fc), fd)) → new_ltEs4(ywz5001, ywz4001, fc, fd)
new_compare31(ywz5000, ywz4000, app(ty_Maybe, bc)) → new_compare32(ywz5000, ywz4000, bc)
new_esEs19(@0, @0) → True
new_esEs7(Right(ywz5000), Right(ywz4000), he, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, app(app(ty_Either, bcg), bch)) → new_esEs7(ywz5001, ywz4001, bcg, bch)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_esEs23(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_ltEs18(ywz5002, ywz4002, app(app(ty_@2, bdf), bdg)) → new_ltEs10(ywz5002, ywz4002, bdf, bdg)
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_Either, da), db)) → new_esEs7(ywz5000, ywz4000, da, db)
new_primCmpNat0(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat0(ywz500000, ywz400000)
new_esEs22(ywz5000, ywz4000, app(ty_Maybe, cc)) → new_esEs4(ywz5000, ywz4000, cc)
new_esEs22(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, app(ty_Maybe, bde)) → new_esEs4(ywz5002, ywz4002, bde)
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_compare27(ywz5000, ywz4000, True, dg, dh) → EQ
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_@2, cf), cg)) → new_esEs5(ywz5000, ywz4000, cf, cg)
new_compare31(ywz5000, ywz4000, app(app(app(ty_@3, bh), ca), cb)) → new_compare17(ywz5000, ywz4000, bh, ca, cb)
new_ltEs19(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_compare31(ywz5000, ywz4000, ty_Bool) → new_compare6(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_compare12(ywz154, ywz155, True, bgc, bgd) → LT
new_ltEs20(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_ltEs14(False, False) → True
new_esEs16(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs7(Right(ywz5000), Right(ywz4000), he, app(ty_[], hf)) → new_esEs12(ywz5000, ywz4000, hf)
new_esEs13(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), bha) → new_asAs(new_esEs24(ywz5000, ywz4000, bha), new_esEs23(ywz5001, ywz4001, bha))
new_compare111(ywz5000, ywz4000, True, ec, ed, ee) → LT
new_esEs28(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, ty_@0) → new_esEs19(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_@0) → new_ltEs16(ywz5002, ywz4002)
new_ltEs8(Just(ywz5000), Nothing, bgh) → False
new_ltEs12(ywz500, ywz400) → new_not(new_esEs8(new_compare5(ywz500, ywz400), GT))
new_esEs9(ywz5001, ywz4001, app(ty_[], bcc)) → new_esEs12(ywz5001, ywz4001, bcc)
new_esEs22(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs28(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs8(LT, EQ) → False
new_esEs8(EQ, LT) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_esEs10(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(app(ty_Either, bbe), bbf)) → new_esEs7(ywz5000, ywz4000, bbe, bbf)
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_lt4(ywz5000, ywz4000) → new_esEs8(new_compare6(ywz5000, ywz4000), LT)
new_ltEs18(ywz5002, ywz4002, ty_Integer) → new_ltEs11(ywz5002, ywz4002)
new_primPlusNat0(Zero, Succ(ywz4000000)) → Succ(ywz4000000)
new_primPlusNat0(Succ(ywz24800), Zero) → Succ(ywz24800)
new_esEs5(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), ef, df) → new_asAs(new_esEs22(ywz5000, ywz4000, ef), new_esEs21(ywz5001, ywz4001, df))
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(ywz500000), Zero) → GT
new_esEs22(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_compare210(ywz5000, ywz4000, True, ec, ed, ee) → EQ
new_esEs22(ywz5000, ywz4000, app(ty_Ratio, bgg)) → new_esEs13(ywz5000, ywz4000, bgg)
new_lt6(ywz5001, ywz4001, ty_Float) → new_lt17(ywz5001, ywz4001)
new_ltEs4(Right(ywz5000), Right(ywz4000), he, app(app(app(ty_@3, bad), bae), baf)) → new_ltEs17(ywz5000, ywz4000, bad, bae, baf)
new_compare13(ywz5000, ywz4000, True) → LT
new_sr0(Integer(ywz50000), Integer(ywz40010)) → Integer(new_primMulInt(ywz50000, ywz40010))
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_[], gc), gd) → new_esEs12(ywz5000, ywz4000, gc)
new_ltEs18(ywz5002, ywz4002, app(app(ty_Either, bdh), bea)) → new_ltEs4(ywz5002, ywz4002, bdh, bea)
new_compare15(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_ltEs20(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_lt6(ywz5001, ywz4001, ty_Double) → new_lt15(ywz5001, ywz4001)
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_esEs20(ywz5000, ywz4000, app(ty_[], bb)) → new_esEs12(ywz5000, ywz4000, bb)
new_compare24(Right(ywz500), Left(ywz400), False, ga, gb) → GT
new_esEs28(ywz5000, ywz4000, app(app(ty_Either, ea), eb)) → new_esEs7(ywz5000, ywz4000, ea, eb)
new_compare30(ywz5000, ywz4000, dg, dh) → new_compare27(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, dg, dh), dg, dh)
new_esEs7(Right(ywz5000), Right(ywz4000), he, app(ty_Maybe, hg)) → new_esEs4(ywz5000, ywz4000, hg)
new_ltEs17(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), bcb, bah, bba) → new_pePe(new_lt5(ywz5000, ywz4000, bcb), new_asAs(new_esEs10(ywz5000, ywz4000, bcb), new_pePe(new_lt6(ywz5001, ywz4001, bah), new_asAs(new_esEs9(ywz5001, ywz4001, bah), new_ltEs18(ywz5002, ywz4002, bba)))))
new_esEs7(Right(ywz5000), Right(ywz4000), he, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, app(ty_[], bcc)) → new_lt9(ywz5001, ywz4001, bcc)
new_lt5(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_lt16(ywz50, ywz40, ga, gb) → new_esEs8(new_compare18(ywz50, ywz40, ga, gb), LT)
new_esEs8(EQ, GT) → False
new_esEs8(GT, EQ) → False
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, ty_Integer) → new_lt13(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(app(ty_@2, bce), bcf)) → new_esEs5(ywz5001, ywz4001, bce, bcf)
new_esEs22(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, fa), fb)) → new_esEs5(ywz5001, ywz4001, fa, fb)
new_primCompAux0(ywz333, LT) → LT
new_esEs9(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_not(False) → True
new_esEs11(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Left(ywz4000), he, gd) → False
new_ltEs20(ywz500, ywz400, app(app(app(ty_@3, bfc), bfd), bfe)) → new_ltEs17(ywz500, ywz400, bfc, bfd, bfe)
new_compare110(ywz5000, ywz4000, True, cc) → LT
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Double, gd) → new_esEs16(ywz5000, ywz4000)
new_compare210(ywz5000, ywz4000, False, ec, ed, ee) → new_compare111(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000, ec, ed, ee), ec, ed, ee)
new_ltEs4(Right(ywz5000), Right(ywz4000), he, ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), he, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, ty_Char) → new_ltEs12(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, ty_Float) → new_esEs18(ywz5002, ywz4002)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, ea), eb)) → new_lt16(ywz5000, ywz4000, ea, eb)
new_esEs9(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs28(ywz5000, ywz4000, app(app(ty_@2, dg), dh)) → new_esEs5(ywz5000, ywz4000, dg, dh)
new_compare0(:(ywz5000, ywz5001), [], ba) → GT
new_lt6(ywz5001, ywz4001, app(app(app(ty_@3, bda), bdb), bdc)) → new_lt19(ywz5001, ywz4001, bda, bdb, bdc)
new_lt7(ywz5000, ywz4000) → new_esEs8(new_compare8(ywz5000, ywz4000), LT)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), he, app(ty_Ratio, bfg)) → new_ltEs9(ywz5000, ywz4000, bfg)
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_compare27(ywz5000, ywz4000, False, dg, dh) → new_compare19(ywz5000, ywz4000, new_ltEs10(ywz5000, ywz4000, dg, dh), dg, dh)
new_lt6(ywz5001, ywz4001, app(ty_Maybe, bcd)) → new_lt10(ywz5001, ywz4001, bcd)
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_Ratio, bfh)) → new_lt11(ywz5000, ywz4000, bfh)
new_primMulInt(Pos(ywz50000), Pos(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_esEs7(Right(ywz5000), Right(ywz4000), he, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs18(ywz5000, ywz4000)
new_ltEs19(ywz500, ywz400, app(ty_Maybe, bgh)) → new_ltEs8(ywz500, ywz400, bgh)
new_primMulInt(Neg(ywz50000), Neg(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_esEs9(ywz5001, ywz4001, app(ty_Ratio, bga)) → new_esEs13(ywz5001, ywz4001, bga)
new_ltEs19(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), he, app(app(ty_@2, hh), baa)) → new_ltEs10(ywz5000, ywz4000, hh, baa)
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_lt20(ywz5000, ywz4000, app(app(ty_@2, dg), dh)) → new_lt12(ywz5000, ywz4000, dg, dh)
new_primPlusNat0(Zero, Zero) → Zero
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Float, gd) → new_ltEs15(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), he, ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(ty_[], eg)) → new_esEs12(ywz5001, ywz4001, eg)
new_ltEs6(LT, LT) → True
new_ltEs6(EQ, LT) → False
new_ltEs14(True, True) → True
new_lt20(ywz5000, ywz4000, app(ty_Maybe, cc)) → new_lt10(ywz5000, ywz4000, cc)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_ltEs18(ywz5002, ywz4002, app(app(app(ty_@3, beb), bec), bed)) → new_ltEs17(ywz5002, ywz4002, beb, bec, bed)
new_esEs28(ywz5000, ywz4000, app(app(app(ty_@3, ec), ed), ee)) → new_esEs6(ywz5000, ywz4000, ec, ed, ee)
new_esEs4(Nothing, Nothing, bgh) → True
new_ltEs21(ywz5001, ywz4001, app(ty_Ratio, bgf)) → new_ltEs9(ywz5001, ywz4001, bgf)
new_compare111(ywz5000, ywz4000, False, ec, ed, ee) → GT
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhe)) → new_esEs13(ywz5000, ywz4000, bhe)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, bbg), bbh), bca)) → new_esEs6(ywz5000, ywz4000, bbg, bbh, bca)
new_compare31(ywz5000, ywz4000, app(app(ty_@2, bd), be)) → new_compare30(ywz5000, ywz4000, bd, be)
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, bbc), bbd)) → new_esEs5(ywz5000, ywz4000, bbc, bbd)
new_lt5(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_esEs23(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_Either, da), db)) → new_ltEs4(ywz5000, ywz4000, da, db)
new_esEs10(ywz5000, ywz4000, app(app(ty_@2, bbc), bbd)) → new_esEs5(ywz5000, ywz4000, bbc, bbd)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, bbb)) → new_esEs4(ywz5000, ywz4000, bbb)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, fc), fd)) → new_esEs7(ywz5001, ywz4001, fc, fd)
new_primPlusNat1(Succ(ywz2480), ywz400000) → Succ(Succ(new_primPlusNat0(ywz2480, ywz400000)))
new_lt15(ywz5000, ywz4000) → new_esEs8(new_compare15(ywz5000, ywz4000), LT)
new_ltEs21(ywz5001, ywz4001, app(ty_Maybe, eh)) → new_ltEs8(ywz5001, ywz4001, eh)
new_lt6(ywz5001, ywz4001, ty_Int) → new_lt7(ywz5001, ywz4001)
new_lt19(ywz5000, ywz4000, ec, ed, ee) → new_esEs8(new_compare17(ywz5000, ywz4000, ec, ed, ee), LT)
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_compare110(ywz5000, ywz4000, False, cc) → GT
new_esEs25(ywz5002, ywz4002, ty_Integer) → new_esEs14(ywz5002, ywz4002)
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), ba) → new_primCompAux1(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, ba), ba)
new_compare19(ywz5000, ywz4000, True, dg, dh) → LT
new_ltEs19(ywz500, ywz400, app(ty_[], ba)) → new_ltEs7(ywz500, ywz400, ba)
new_compare31(ywz5000, ywz4000, ty_Integer) → new_compare9(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_Ratio, bge)) → new_compare7(ywz5000, ywz4000, bge)
new_ltEs5(ywz500, ywz400) → new_not(new_esEs8(new_compare8(ywz500, ywz400), GT))
new_lt6(ywz5001, ywz4001, app(app(ty_Either, bcg), bch)) → new_lt16(ywz5001, ywz4001, bcg, bch)
new_esEs24(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs9(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_ltEs19(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs21(ywz5001, ywz4001, ty_@0) → new_ltEs16(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, eh)) → new_esEs4(ywz5001, ywz4001, eh)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, bf), bg)) → new_esEs7(ywz5000, ywz4000, bf, bg)
new_lt5(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, ty_Integer) → new_ltEs11(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(app(ty_@2, bce), bcf)) → new_esEs5(ywz5001, ywz4001, bce, bcf)
new_compare29(ywz5000, ywz4000, True, cc) → EQ
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCompAux1(ywz5000, ywz4000, ywz290, ba) → new_primCompAux0(ywz290, new_compare31(ywz5000, ywz4000, ba))
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Maybe, ce)) → new_ltEs8(ywz5000, ywz4000, ce)
new_compare18(ywz50, ywz40, ga, gb) → new_compare24(ywz50, ywz40, new_esEs7(ywz50, ywz40, ga, gb), ga, gb)
new_lt5(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Char) → new_compare5(ywz5000, ywz4000)
new_compare9(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_asAs(False, ywz142) → False
new_esEs10(ywz5000, ywz4000, app(app(app(ty_@3, bbg), bbh), bca)) → new_esEs6(ywz5000, ywz4000, bbg, bbh, bca)
new_primMulInt(Neg(ywz50000), Pos(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Pos(ywz50000), Neg(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat2(ywz4000, ywz50000)
new_primMulNat0(Succ(ywz500000), Zero) → Zero
new_primMulNat0(Zero, Succ(ywz400000)) → Zero
new_esEs26(ywz5001, ywz4001, app(ty_[], bcc)) → new_esEs12(ywz5001, ywz4001, bcc)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(ty_Maybe, bcd)) → new_esEs4(ywz5001, ywz4001, bcd)
new_ltEs21(ywz5001, ywz4001, ty_Bool) → new_ltEs14(ywz5001, ywz4001)
new_esEs10(ywz5000, ywz4000, app(ty_Ratio, bfh)) → new_esEs13(ywz5000, ywz4000, bfh)
new_lt6(ywz5001, ywz4001, ty_@0) → new_lt18(ywz5001, ywz4001)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Float, gd) → new_esEs18(ywz5000, ywz4000)
new_ltEs18(ywz5002, ywz4002, ty_Bool) → new_ltEs14(ywz5002, ywz4002)
new_compare10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_compare31(ywz5000, ywz4000, app(ty_[], bb)) → new_compare0(ywz5000, ywz4000, bb)
new_esEs28(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_ltEs18(ywz5002, ywz4002, ty_Char) → new_ltEs12(ywz5002, ywz4002)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat2(Zero, ywz40000)
new_esEs25(ywz5002, ywz4002, app(app(app(ty_@3, beb), bec), bed)) → new_esEs6(ywz5002, ywz4002, beb, bec, bed)
new_esEs10(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_ltEs6(LT, GT) → True
new_esEs10(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, hb), hc), hd), gd) → new_esEs6(ywz5000, ywz4000, hb, hc, hd)
new_ltEs21(ywz5001, ywz4001, app(app(ty_@2, fa), fb)) → new_ltEs10(ywz5001, ywz4001, fa, fb)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(ty_[], h)) → new_esEs12(ywz5000, ywz4000, h)
new_esEs24(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_[], gc), gd) → new_ltEs7(ywz5000, ywz4000, gc)
new_ltEs21(ywz5001, ywz4001, ty_Ordering) → new_ltEs6(ywz5001, ywz4001)
new_esEs7(Right(ywz5000), Right(ywz4000), he, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(ty_Ratio, bgg)) → new_esEs13(ywz5000, ywz4000, bgg)
new_ltEs18(ywz5002, ywz4002, app(ty_Maybe, bde)) → new_ltEs8(ywz5002, ywz4002, bde)
new_ltEs14(True, False) → False
new_esEs25(ywz5002, ywz4002, ty_Char) → new_esEs15(ywz5002, ywz4002)
new_compare11(ywz5000, ywz4000, False) → GT
new_ltEs13(ywz500, ywz400) → new_not(new_esEs8(new_compare15(ywz500, ywz400), GT))
new_lt11(ywz5000, ywz4000, bgg) → new_esEs8(new_compare7(ywz5000, ywz4000, bgg), LT)
new_lt5(ywz5000, ywz4000, app(app(ty_@2, bbc), bbd)) → new_lt12(ywz5000, ywz4000, bbc, bbd)
new_ltEs8(Nothing, Nothing, bgh) → True
new_esEs26(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, app(app(ty_@2, bdf), bdg)) → new_esEs5(ywz5002, ywz4002, bdf, bdg)
new_ltEs16(ywz500, ywz400) → new_not(new_esEs8(new_compare28(ywz500, ywz400), GT))
new_compare11(ywz5000, ywz4000, True) → LT
new_ltEs19(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), he, app(ty_[], hf)) → new_ltEs7(ywz5000, ywz4000, hf)
new_esEs9(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_ltEs19(ywz500, ywz400, app(app(app(ty_@3, bcb), bah), bba)) → new_ltEs17(ywz500, ywz400, bcb, bah, bba)
new_ltEs20(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_compare14(ywz147, ywz148, True, bhc, bhd) → LT
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Bool, gd) → new_esEs17(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat1(ywz40000, Zero)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs19(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Float) → new_compare10(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_primPlusNat0(Succ(ywz24800), Succ(ywz4000000)) → Succ(Succ(new_primPlusNat0(ywz24800, ywz4000000)))
new_esEs9(ywz5001, ywz4001, app(app(app(ty_@3, bda), bdb), bdc)) → new_esEs6(ywz5001, ywz4001, bda, bdb, bdc)
new_ltEs4(Right(ywz5000), Right(ywz4000), he, app(ty_Maybe, hg)) → new_ltEs8(ywz5000, ywz4000, hg)
new_lt5(ywz5000, ywz4000, app(ty_Maybe, bbb)) → new_lt10(ywz5000, ywz4000, bbb)
new_compare0([], :(ywz4000, ywz4001), ba) → LT
new_ltEs6(LT, EQ) → True
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, ff), fg), fh)) → new_esEs6(ywz5001, ywz4001, ff, fg, fh)
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, ec), ed), ee)) → new_lt19(ywz5000, ywz4000, ec, ed, ee)
new_ltEs6(GT, LT) → False
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_asAs(True, ywz142) → ywz142
new_esEs28(ywz5000, ywz4000, app(ty_[], h)) → new_esEs12(ywz5000, ywz4000, h)
new_esEs27(ywz5000, ywz4000, app(ty_[], bag)) → new_esEs12(ywz5000, ywz4000, bag)
new_esEs25(ywz5002, ywz4002, ty_Int) → new_esEs11(ywz5002, ywz4002)
new_lt12(ywz5000, ywz4000, dg, dh) → new_esEs8(new_compare30(ywz5000, ywz4000, dg, dh), LT)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_@0, gd) → new_esEs19(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Integer, gd) → new_ltEs11(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_@2, cf), cg)) → new_ltEs10(ywz5000, ywz4000, cf, cg)
new_ltEs21(ywz5001, ywz4001, ty_Float) → new_ltEs15(ywz5001, ywz4001)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Char, gd) → new_esEs15(ywz5000, ywz4000)
new_esEs9(ywz5001, ywz4001, app(app(ty_Either, bcg), bch)) → new_esEs7(ywz5001, ywz4001, bcg, bch)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, ba) → new_not(new_esEs8(new_compare0(ywz500, ywz400, ba), GT))
new_ltEs20(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_compare32(ywz5000, ywz4000, cc) → new_compare29(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, cc), cc)
new_compare19(ywz5000, ywz4000, False, dg, dh) → GT
new_esEs28(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, app(app(ty_Either, bdh), bea)) → new_esEs7(ywz5002, ywz4002, bdh, bea)
new_lt5(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_lt6(ywz5001, ywz4001, app(app(ty_@2, bce), bcf)) → new_lt12(ywz5001, ywz4001, bce, bcf)
new_primCompAux0(ywz333, EQ) → ywz333
new_esEs6(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), bcb, bah, bba) → new_asAs(new_esEs27(ywz5000, ywz4000, bcb), new_asAs(new_esEs26(ywz5001, ywz4001, bah), new_esEs25(ywz5002, ywz4002, bba)))
new_ltEs20(ywz500, ywz400, app(app(ty_@2, beg), beh)) → new_ltEs10(ywz500, ywz400, beg, beh)
new_ltEs19(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_compare28(@0, @0) → EQ
new_esEs10(ywz5000, ywz4000, app(ty_Maybe, bbb)) → new_esEs4(ywz5000, ywz4000, bbb)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs10(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_lt18(ywz5000, ywz4000) → new_esEs8(new_compare28(ywz5000, ywz4000), LT)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_not(True) → False
new_compare24(Right(ywz500), Right(ywz400), False, ga, gb) → new_compare12(ywz500, ywz400, new_ltEs20(ywz500, ywz400, gb), ga, gb)

The set Q consists of the following terms:

new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_esEs7(Left(x0), Left(x1), ty_Double, x2)
new_ltEs21(x0, x1, ty_Int)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_lt19(x0, x1, x2, x3, x4)
new_esEs18(Float(x0, x1), Float(x2, x3))
new_ltEs16(x0, x1)
new_primCmpNat1(x0, Succ(x1))
new_esEs20(x0, x1, ty_Double)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt6(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Double)
new_ltEs4(Right(x0), Right(x1), x2, ty_Char)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs4(Nothing, Nothing, x0)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs23(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Int)
new_lt6(x0, x1, app(ty_Ratio, x2))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, ty_Ordering)
new_compare30(x0, x1, x2, x3)
new_primCompAux0(x0, EQ)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_ltEs18(x0, x1, ty_Bool)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, ty_Bool)
new_esEs22(x0, x1, ty_Ordering)
new_compare15(Double(x0, x1), Double(x2, x3))
new_lt6(x0, x1, ty_Ordering)
new_primCmpNat0(Succ(x0), Zero)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs26(x0, x1, app(ty_[], x2))
new_lt4(x0, x1)
new_esEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs21(x0, x1, ty_Double)
new_compare5(Char(x0), Char(x1))
new_esEs7(Right(x0), Right(x1), x2, ty_@0)
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_esEs7(Right(x0), Right(x1), x2, ty_Integer)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs13(:%(x0, x1), :%(x2, x3), x4)
new_lt6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs14(True, False)
new_ltEs14(False, True)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs4(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs20(x0, x1, ty_Ordering)
new_lt8(x0, x1)
new_esEs8(GT, GT)
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Float)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_esEs7(Right(x0), Left(x1), x2, x3)
new_esEs7(Left(x0), Right(x1), x2, x3)
new_esEs26(x0, x1, ty_Int)
new_lt5(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, ty_Integer)
new_ltEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs8(LT, LT)
new_esEs26(x0, x1, ty_Float)
new_primPlusNat1(Zero, x0)
new_ltEs19(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_lt20(x0, x1, ty_Int)
new_primEqNat0(Succ(x0), Succ(x1))
new_compare0([], :(x0, x1), x2)
new_ltEs19(x0, x1, ty_Float)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs17(False, False)
new_lt20(x0, x1, ty_Integer)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_Double, x2)
new_esEs27(x0, x1, ty_Float)
new_lt5(x0, x1, ty_Int)
new_esEs4(Just(x0), Just(x1), ty_Bool)
new_ltEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs8(Just(x0), Just(x1), app(ty_Maybe, x2))
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs21(x0, x1, ty_Bool)
new_ltEs6(EQ, EQ)
new_pePe(False, x0)
new_compare27(x0, x1, False, x2, x3)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs8(LT, GT)
new_esEs8(GT, LT)
new_compare9(Integer(x0), Integer(x1))
new_pePe(True, x0)
new_esEs28(x0, x1, ty_Int)
new_esEs7(Left(x0), Left(x1), ty_Float, x2)
new_lt6(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs4(Just(x0), Just(x1), ty_@0)
new_ltEs9(x0, x1, x2)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs4(Just(x0), Just(x1), ty_Int)
new_ltEs6(LT, EQ)
new_ltEs20(x0, x1, ty_@0)
new_ltEs6(EQ, LT)
new_compare7(:%(x0, x1), :%(x2, x3), ty_Integer)
new_lt5(x0, x1, app(ty_Ratio, x2))
new_primEqNat0(Zero, Zero)
new_ltEs19(x0, x1, ty_Double)
new_esEs7(Right(x0), Right(x1), x2, ty_Bool)
new_esEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_ltEs19(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Bool)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_primCompAux1(x0, x1, x2, x3)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_compare31(x0, x1, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Char)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare26(x0, x1, True)
new_esEs4(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(Right(x0), Right(x1), x2, ty_Double)
new_ltEs8(Nothing, Nothing, x0)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_compare28(@0, @0)
new_esEs28(x0, x1, ty_Float)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(Left(x0), Left(x1), ty_Bool, x2)
new_compare31(x0, x1, ty_Char)
new_primMulNat0(Zero, Zero)
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_compare210(x0, x1, False, x2, x3, x4)
new_compare31(x0, x1, ty_@0)
new_ltEs21(x0, x1, ty_Float)
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, ty_Integer)
new_lt9(x0, x1, x2)
new_ltEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs7(Right(x0), Right(x1), x2, ty_Float)
new_lt20(x0, x1, ty_@0)
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Double)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_ltEs19(x0, x1, ty_Int)
new_esEs28(x0, x1, app(ty_[], x2))
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs22(x0, x1, ty_@0)
new_compare32(x0, x1, x2)
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_ltEs21(x0, x1, ty_Integer)
new_ltEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_compare0(:(x0, x1), [], x2)
new_esEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs25(x0, x1, ty_Bool)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_esEs9(x0, x1, ty_Bool)
new_esEs4(Just(x0), Just(x1), ty_Float)
new_lt5(x0, x1, ty_@0)
new_esEs10(x0, x1, ty_Ordering)
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_compare31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, app(ty_Maybe, x2))
new_esEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs28(x0, x1, ty_Integer)
new_lt5(x0, x1, ty_Double)
new_esEs4(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs21(x0, x1, ty_Double)
new_lt16(x0, x1, x2, x3)
new_compare31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs20(x0, x1, ty_@0)
new_esEs25(x0, x1, ty_Int)
new_compare0([], [], x0)
new_ltEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Int)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, ty_Char)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs18(x0, x1, ty_Char)
new_esEs21(x0, x1, ty_Integer)
new_compare17(x0, x1, x2, x3, x4)
new_asAs(False, x0)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_ltEs20(x0, x1, ty_Char)
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs22(x0, x1, ty_Integer)
new_compare111(x0, x1, False, x2, x3, x4)
new_esEs4(Just(x0), Just(x1), ty_Double)
new_compare24(Left(x0), Left(x1), False, x2, x3)
new_compare31(x0, x1, ty_Ordering)
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpNat1(x0, Zero)
new_primCmpNat2(Zero, x0)
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Right(x1), x2, x3)
new_ltEs4(Right(x0), Left(x1), x2, x3)
new_ltEs11(x0, x1)
new_primPlusNat0(Zero, Zero)
new_esEs4(Just(x0), Just(x1), app(ty_[], x2))
new_ltEs19(x0, x1, ty_Bool)
new_compare31(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, ty_Ordering)
new_esEs12(:(x0, x1), :(x2, x3), x4)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_esEs25(x0, x1, app(ty_[], x2))
new_compare13(x0, x1, True)
new_lt6(x0, x1, ty_Float)
new_sr(x0, x1)
new_ltEs8(Just(x0), Just(x1), ty_Int)
new_ltEs4(Left(x0), Left(x1), ty_Integer, x2)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_compare7(:%(x0, x1), :%(x2, x3), ty_Int)
new_compare12(x0, x1, False, x2, x3)
new_esEs4(Just(x0), Just(x1), ty_Ordering)
new_primMulNat0(Zero, Succ(x0))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs18(x0, x1, ty_Integer)
new_compare8(x0, x1)
new_compare31(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Bool)
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_ltEs7(x0, x1, x2)
new_lt20(x0, x1, ty_Ordering)
new_compare31(x0, x1, app(ty_Maybe, x2))
new_esEs21(x0, x1, app(ty_[], x2))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs5(x0, x1)
new_esEs9(x0, x1, ty_Double)
new_lt15(x0, x1)
new_ltEs20(x0, x1, ty_Ordering)
new_lt6(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, ty_Integer)
new_ltEs8(Just(x0), Just(x1), ty_Bool)
new_primPlusNat0(Succ(x0), Succ(x1))
new_ltEs4(Right(x0), Right(x1), x2, ty_@0)
new_lt6(x0, x1, ty_Integer)
new_compare210(x0, x1, True, x2, x3, x4)
new_ltEs8(Just(x0), Just(x1), ty_Double)
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_esEs14(Integer(x0), Integer(x1))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, ty_Float)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primMulNat0(Succ(x0), Zero)
new_esEs10(x0, x1, ty_Int)
new_esEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_ltEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs20(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Double)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_esEs16(Double(x0, x1), Double(x2, x3))
new_compare6(x0, x1)
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt5(x0, x1, ty_Bool)
new_lt13(x0, x1)
new_ltEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_primCompAux0(x0, LT)
new_ltEs20(x0, x1, app(ty_[], x2))
new_lt18(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs8(EQ, EQ)
new_compare13(x0, x1, False)
new_primPlusNat0(Zero, Succ(x0))
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_compare14(x0, x1, True, x2, x3)
new_ltEs8(Just(x0), Just(x1), ty_Ordering)
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_ltEs19(x0, x1, ty_Integer)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_ltEs4(Left(x0), Left(x1), ty_Char, x2)
new_lt6(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, ty_Float)
new_lt17(x0, x1)
new_lt12(x0, x1, x2, x3)
new_esEs22(x0, x1, ty_Int)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_esEs12([], [], x0)
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_lt20(x0, x1, ty_Char)
new_compare24(Right(x0), Right(x1), False, x2, x3)
new_esEs11(x0, x1)
new_lt5(x0, x1, ty_Integer)
new_compare24(x0, x1, True, x2, x3)
new_esEs9(x0, x1, app(ty_[], x2))
new_compare27(x0, x1, True, x2, x3)
new_sr0(Integer(x0), Integer(x1))
new_esEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs7(Left(x0), Left(x1), ty_Char, x2)
new_esEs4(Just(x0), Just(x1), app(ty_Maybe, x2))
new_lt6(x0, x1, ty_Bool)
new_ltEs4(Left(x0), Left(x1), ty_Int, x2)
new_esEs9(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Double)
new_ltEs12(x0, x1)
new_esEs22(x0, x1, ty_Bool)
new_compare110(x0, x1, True, x2)
new_lt5(x0, x1, ty_Float)
new_lt6(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, ty_Integer)
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_ltEs8(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_ltEs8(Just(x0), Just(x1), app(ty_Ratio, x2))
new_ltEs20(x0, x1, ty_Float)
new_esEs7(Left(x0), Left(x1), ty_Int, x2)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_ltEs6(GT, GT)
new_ltEs8(Nothing, Just(x0), x1)
new_primMulInt(Neg(x0), Neg(x1))
new_esEs8(GT, EQ)
new_esEs8(EQ, GT)
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_ltEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_compare31(x0, x1, app(app(ty_Either, x2), x3))
new_lt6(x0, x1, ty_Double)
new_esEs26(x0, x1, ty_Ordering)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs4(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_compare110(x0, x1, False, x2)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs8(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs24(x0, x1, ty_Integer)
new_primCmpNat0(Zero, Zero)
new_lt11(x0, x1, x2)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_esEs10(x0, x1, ty_@0)
new_ltEs6(LT, LT)
new_esEs26(x0, x1, ty_Char)
new_ltEs8(Just(x0), Nothing, x1)
new_ltEs18(x0, x1, ty_@0)
new_esEs28(x0, x1, ty_Ordering)
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_compare18(x0, x1, x2, x3)
new_esEs25(x0, x1, ty_Integer)
new_esEs10(x0, x1, app(ty_[], x2))
new_primCmpNat0(Zero, Succ(x0))
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs22(x0, x1, ty_Char)
new_compare31(x0, x1, ty_Int)
new_lt10(x0, x1, x2)
new_esEs28(x0, x1, ty_Char)
new_ltEs8(Just(x0), Just(x1), ty_@0)
new_ltEs4(Left(x0), Left(x1), ty_@0, x2)
new_primPlusNat0(Succ(x0), Zero)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_ltEs21(x0, x1, app(ty_[], x2))
new_esEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs12(:(x0, x1), [], x2)
new_lt6(x0, x1, app(ty_[], x2))
new_primMulInt(Pos(x0), Pos(x1))
new_esEs22(x0, x1, ty_Double)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs4(Right(x0), Right(x1), x2, ty_Double)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_ltEs8(Just(x0), Just(x1), ty_Integer)
new_ltEs21(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Int)
new_compare19(x0, x1, True, x2, x3)
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_lt14(x0, x1)
new_compare25(x0, x1, True)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs14(True, True)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs14(False, False)
new_esEs27(x0, x1, ty_Double)
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs22(x0, x1, ty_Float)
new_ltEs4(Left(x0), Left(x1), ty_Float, x2)
new_esEs4(Nothing, Just(x0), x1)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare10(Float(x0, x1), Float(x2, x3))
new_esEs24(x0, x1, ty_Int)
new_esEs7(Right(x0), Right(x1), x2, ty_Int)
new_not(True)
new_ltEs8(Just(x0), Just(x1), ty_Float)
new_esEs27(x0, x1, ty_Char)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs21(x0, x1, ty_@0)
new_compare24(Left(x0), Right(x1), False, x2, x3)
new_compare24(Right(x0), Left(x1), False, x2, x3)
new_esEs21(x0, x1, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_ltEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, ty_Double)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_not(False)
new_esEs12([], :(x0, x1), x2)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs7(Right(x0), Right(x1), x2, ty_Char)
new_esEs25(x0, x1, ty_Ordering)
new_lt6(x0, x1, ty_Char)
new_esEs4(Just(x0), Just(x1), ty_Integer)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs26(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_@0)
new_compare25(x0, x1, False)
new_ltEs6(EQ, GT)
new_ltEs6(GT, EQ)
new_compare29(x0, x1, False, x2)
new_compare31(x0, x1, app(ty_[], x2))
new_compare31(x0, x1, ty_Integer)
new_ltEs18(x0, x1, ty_Double)
new_esEs7(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs10(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs9(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Double)
new_esEs26(x0, x1, ty_@0)
new_esEs21(x0, x1, ty_Float)
new_ltEs13(x0, x1)
new_ltEs8(Just(x0), Just(x1), ty_Char)
new_esEs15(Char(x0), Char(x1))
new_compare16(x0, x1)
new_esEs27(x0, x1, app(ty_[], x2))
new_ltEs15(x0, x1)
new_esEs9(x0, x1, ty_Float)
new_asAs(True, x0)
new_esEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs8(EQ, LT)
new_esEs8(LT, EQ)
new_esEs4(Just(x0), Nothing, x1)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_primCompAux0(x0, GT)
new_ltEs18(x0, x1, ty_Ordering)
new_esEs9(x0, x1, ty_Int)
new_lt7(x0, x1)
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs20(x0, x1, ty_Bool)
new_compare19(x0, x1, False, x2, x3)
new_ltEs8(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs20(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_@0)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs17(False, True)
new_esEs17(True, False)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_compare0(:(x0, x1), :(x2, x3), x4)
new_ltEs8(Just(x0), Just(x1), app(ty_[], x2))
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, ty_Char)
new_compare111(x0, x1, True, x2, x3, x4)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare29(x0, x1, True, x2)
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_lt20(x0, x1, ty_Float)
new_compare12(x0, x1, True, x2, x3)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs17(True, True)
new_esEs23(x0, x1, ty_Int)
new_compare26(x0, x1, False)
new_ltEs4(Right(x0), Right(x1), x2, ty_Int)
new_primEqNat0(Zero, Succ(x0))
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_primCmpNat2(Succ(x0), x1)
new_esEs10(x0, x1, ty_Char)
new_ltEs18(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, ty_Bool)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs28(x0, x1, ty_@0)
new_compare14(x0, x1, False, x2, x3)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_lt5(x0, x1, ty_Ordering)
new_esEs19(@0, @0)
new_compare11(x0, x1, False)
new_esEs20(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_Int)
new_ltEs4(Left(x0), Left(x1), ty_Bool, x2)
new_esEs7(Left(x0), Left(x1), ty_@0, x2)
new_ltEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_compare11(x0, x1, True)
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_primPlusNat1(Succ(x0), x1)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, ty_@0)
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_addToFM_C(Branch(ywz7430, ywz7431, ywz7432, ywz7433, ywz7434), ywz50, ywz9, h, ba, bb) → new_addToFM_C3(ywz7430, ywz7431, ywz7432, ywz7433, ywz7434, ywz50, ywz9, h, ba, bb)
new_addToFM_C1(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, True, h, ba, bb) → new_addToFM_C(ywz744, ywz50, ywz9, h, ba, bb)
new_addToFM_C2(ywz740, ywz741, ywz742, Branch(ywz7430, ywz7431, ywz7432, ywz7433, ywz7434), ywz744, ywz50, ywz9, True, h, ba, bb) → new_addToFM_C3(ywz7430, ywz7431, ywz7432, ywz7433, ywz7434, ywz50, ywz9, h, ba, bb)
new_addToFM_C3(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, h, ba, bb) → new_addToFM_C2(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_lt16(ywz50, ywz740, h, ba), h, ba, bb)
new_addToFM_C2(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, False, h, ba, bb) → new_addToFM_C1(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_gt(ywz50, ywz740, h, ba), h, ba, bb)

The TRS R consists of the following rules:

new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bgf)) → new_esEs4(ywz5000, ywz4000, bgf)
new_lt14(ywz5000, ywz4000) → new_esEs8(new_compare5(ywz5000, ywz4000), LT)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_Either, ca), cb), bc) → new_esEs7(ywz5000, ywz4000, ca, cb)
new_compare31(ywz5000, ywz4000, ty_Double) → new_compare15(ywz5000, ywz4000)
new_primCmpNat2(Zero, ywz50000) → LT
new_esEs12(:(ywz5000, ywz5001), :(ywz4000, ywz4001), baf) → new_asAs(new_esEs20(ywz5000, ywz4000, baf), new_esEs12(ywz5001, ywz4001, baf))
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_ltEs11(ywz500, ywz400) → new_not(new_esEs8(new_compare9(ywz500, ywz400), GT))
new_ltEs20(ywz500, ywz400, app(ty_Ratio, bfc)) → new_ltEs9(ywz500, ywz400, bfc)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Maybe, be), bc) → new_esEs4(ywz5000, ywz4000, be)
new_ltEs18(ywz5002, ywz4002, ty_Float) → new_ltEs15(ywz5002, ywz4002)
new_esEs4(Nothing, Just(ywz4000), beg) → False
new_esEs4(Just(ywz5000), Nothing, beg) → False
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_compare24(Left(ywz500), Left(ywz400), False, h, ba) → new_compare14(ywz500, ywz400, new_ltEs19(ywz500, ywz400, h), h, ba)
new_ltEs4(Right(ywz5000), Right(ywz4000), cf, ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_compare26(ywz5000, ywz4000, False) → new_compare13(ywz5000, ywz4000, new_ltEs6(ywz5000, ywz4000))
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_ltEs20(ywz500, ywz400, app(ty_[], bfa)) → new_ltEs7(ywz500, ywz400, bfa)
new_esEs9(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_compare31(ywz5000, ywz4000, ty_Int) → new_compare8(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Ordering) → new_compare16(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_primMulNat0(Zero, Zero) → Zero
new_lt6(ywz5001, ywz4001, ty_Bool) → new_lt4(ywz5001, ywz4001)
new_esEs7(Right(ywz5000), Right(ywz4000), cf, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, bhd), bhe), bhf)) → new_esEs6(ywz5000, ywz4000, bhd, bhe, bhf)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Int, bc) → new_ltEs5(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bah)) → new_esEs4(ywz5000, ywz4000, bah)
new_ltEs21(ywz5001, ywz4001, app(app(app(ty_@3, bdb), bdc), bdd)) → new_ltEs17(ywz5001, ywz4001, bdb, bdc, bdd)
new_ltEs10(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bca, bcb) → new_pePe(new_lt20(ywz5000, ywz4000, bca), new_asAs(new_esEs28(ywz5000, ywz4000, bca), new_ltEs21(ywz5001, ywz4001, bcb)))
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_gt(ywz50, ywz40, h, ba) → new_esEs8(new_compare18(ywz50, ywz40, h, ba), GT)
new_esEs26(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_ltEs20(ywz500, ywz400, app(ty_Maybe, bfb)) → new_ltEs8(ywz500, ywz400, bfb)
new_ltEs4(Right(ywz5000), Right(ywz4000), cf, ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), cf, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_lt10(ywz5000, ywz4000, bdf) → new_esEs8(new_compare32(ywz5000, ywz4000, bdf), LT)
new_ltEs14(False, True) → True
new_esEs25(ywz5002, ywz4002, ty_Bool) → new_esEs17(ywz5002, ywz4002)
new_lt8(ywz5000, ywz4000) → new_esEs8(new_compare16(ywz5000, ywz4000), LT)
new_esEs26(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, ty_Double) → new_esEs16(ywz5002, ywz4002)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Double, bc) → new_ltEs13(ywz5000, ywz4000)
new_compare24(Left(ywz500), Right(ywz400), False, h, ba) → LT
new_ltEs9(ywz500, ywz400, beh) → new_not(new_esEs8(new_compare7(ywz500, ywz400, beh), GT))
new_compare5(Char(ywz5000), Char(ywz4000)) → new_primCmpNat0(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, bg), bh), bc) → new_ltEs10(ywz5000, ywz4000, bg, bh)
new_esEs17(True, True) → True
new_esEs18(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs18(ywz5002, ywz4002, app(ty_Ratio, hd)) → new_ltEs9(ywz5002, ywz4002, hd)
new_esEs12([], [], baf) → True
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bba)) → new_esEs13(ywz5000, ywz4000, bba)
new_ltEs15(ywz500, ywz400) → new_not(new_esEs8(new_compare10(ywz500, ywz400), GT))
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Integer, bc) → new_esEs14(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, ty_Int) → new_ltEs5(ywz5001, ywz4001)
new_esEs22(ywz5000, ywz4000, app(app(ty_@2, bdh), bea)) → new_esEs5(ywz5000, ywz4000, bdh, bea)
new_lt9(ywz5000, ywz4000, bde) → new_esEs8(new_compare0(ywz5000, ywz4000, bde), LT)
new_esEs26(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, be), bc) → new_ltEs8(ywz5000, ywz4000, be)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Char, bc) → new_ltEs12(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(ty_Maybe, ga)) → new_esEs4(ywz5001, ywz4001, ga)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, cc), cd), ce), bc) → new_ltEs17(ywz5000, ywz4000, cc, cd, ce)
new_ltEs18(ywz5002, ywz4002, app(ty_[], hb)) → new_ltEs7(ywz5002, ywz4002, hb)
new_primCmpNat1(ywz50000, Succ(ywz40000)) → new_primCmpNat0(ywz50000, ywz40000)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(app(ty_Either, beb), bec)) → new_esEs7(ywz5000, ywz4000, beb, bec)
new_esEs7(Right(ywz5000), Right(ywz4000), cf, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs9(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_ltEs19(ywz500, ywz400, app(app(ty_Either, cf), bc)) → new_ltEs4(ywz500, ywz400, cf, bc)
new_pePe(False, ywz225) → ywz225
new_ltEs4(Right(ywz5000), Right(ywz4000), cf, ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Right(ywz4000), cf, bc) → False
new_esEs7(Right(ywz5000), Left(ywz4000), cf, bc) → False
new_esEs12(:(ywz5000, ywz5001), [], baf) → False
new_esEs12([], :(ywz4000, ywz4001), baf) → False
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, bc) → new_ltEs6(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_primCmpNat1(ywz50000, Zero) → GT
new_esEs28(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, fb), fc)) → new_esEs7(ywz5000, ywz4000, fb, fc)
new_esEs26(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_ltEs20(ywz500, ywz400, app(app(ty_Either, bff), bfg)) → new_ltEs4(ywz500, ywz400, bff, bfg)
new_ltEs4(Right(ywz5000), Right(ywz4000), cf, ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bgg)) → new_ltEs9(ywz5000, ywz4000, bgg)
new_ltEs6(GT, EQ) → False
new_ltEs4(Right(ywz5000), Right(ywz4000), cf, app(app(ty_Either, de), df)) → new_ltEs4(ywz5000, ywz4000, de, df)
new_esEs22(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), cf, ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, bbb), bbc)) → new_esEs5(ywz5000, ywz4000, bbb, bbc)
new_esEs14(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Right(ywz4000), cf, bc) → True
new_esEs7(Right(ywz5000), Right(ywz4000), cf, app(app(ty_@2, dc), dd)) → new_esEs5(ywz5000, ywz4000, dc, dd)
new_primCmpNat0(Zero, Succ(ywz400000)) → LT
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Bool, bc) → new_ltEs14(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, ty_Char) → new_lt14(ywz5001, ywz4001)
new_ltEs8(Nothing, Just(ywz4000), beg) → True
new_ltEs19(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_esEs8(LT, LT) → True
new_lt6(ywz5001, ywz4001, ty_Ordering) → new_lt8(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bce)) → new_esEs13(ywz5001, ywz4001, bce)
new_esEs28(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(app(app(ty_@3, fd), ff), fg)) → new_lt19(ywz5000, ywz4000, fd, ff, fg)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Int, bc) → new_esEs11(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, bf), bc) → new_ltEs9(ywz5000, ywz4000, bf)
new_esEs25(ywz5002, ywz4002, ty_Ordering) → new_esEs8(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Double) → new_ltEs13(ywz5002, ywz4002)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_@0, bc) → new_ltEs16(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, app(ty_Ratio, hd)) → new_esEs13(ywz5002, ywz4002, hd)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bbf), bbg), bbh)) → new_esEs6(ywz5000, ywz4000, bbf, bbg, bbh)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_[], bge)) → new_ltEs7(ywz5000, ywz4000, bge)
new_pePe(True, ywz225) → True
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare8(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare9(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_compare0([], [], baf) → EQ
new_compare14(ywz147, ywz148, False, bgc, bgd) → GT
new_ltEs21(ywz5001, ywz4001, ty_Double) → new_ltEs13(ywz5001, ywz4001)
new_primEqNat0(Zero, Zero) → True
new_compare31(ywz5000, ywz4000, app(app(ty_Either, bbd), bbe)) → new_compare18(ywz5000, ywz4000, bbd, bbe)
new_compare26(ywz5000, ywz4000, True) → EQ
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(ty_[], ee)) → new_esEs12(ywz5000, ywz4000, ee)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_@2, bg), bh), bc) → new_esEs5(ywz5000, ywz4000, bg, bh)
new_ltEs21(ywz5001, ywz4001, app(ty_[], bcc)) → new_ltEs7(ywz5001, ywz4001, bcc)
new_primMulNat0(Succ(ywz500000), Succ(ywz400000)) → new_primPlusNat1(new_primMulNat0(ywz500000, Succ(ywz400000)), ywz400000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_[], bge)) → new_esEs12(ywz5000, ywz4000, bge)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, bhd), bhe), bhf)) → new_ltEs17(ywz5000, ywz4000, bhd, bhe, bhf)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, app(ty_Ratio, gb)) → new_esEs13(ywz5001, ywz4001, gb)
new_lt20(ywz5000, ywz4000, app(ty_[], bde)) → new_lt9(ywz5000, ywz4000, bde)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, eg)) → new_esEs13(ywz5000, ywz4000, eg)
new_esEs17(False, False) → True
new_esEs17(False, True) → False
new_esEs17(True, False) → False
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Ordering, bc) → new_esEs8(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(app(ty_Either, fb), fc)) → new_lt16(ywz5000, ywz4000, fb, fc)
new_esEs15(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_ltEs18(ywz5002, ywz4002, ty_Int) → new_ltEs5(ywz5002, ywz4002)
new_ltEs19(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_esEs7(Right(ywz5000), Right(ywz4000), cf, app(app(app(ty_@3, dg), dh), ea)) → new_esEs6(ywz5000, ywz4000, dg, dh, ea)
new_sr(ywz5000, ywz4000) → new_primMulInt(ywz5000, ywz4000)
new_compare12(ywz154, ywz155, False, bad, bae) → GT
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_[], ee)) → new_lt9(ywz5000, ywz4000, ee)
new_esEs26(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_ltEs6(EQ, GT) → True
new_esEs8(GT, GT) → True
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_ltEs18(ywz5002, ywz4002, ty_Ordering) → new_ltEs6(ywz5002, ywz4002)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat1(ywz50000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), cf, app(app(ty_Either, de), df)) → new_esEs7(ywz5000, ywz4000, de, df)
new_esEs26(ywz5001, ywz4001, app(app(app(ty_@3, gg), gh), ha)) → new_esEs6(ywz5001, ywz4001, gg, gh, ha)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_compare25(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs14(ywz5000, ywz4000))
new_esEs8(LT, GT) → False
new_esEs8(GT, LT) → False
new_lt17(ywz5000, ywz4000) → new_esEs8(new_compare10(ywz5000, ywz4000), LT)
new_compare29(ywz5000, ywz4000, False, bdf) → new_compare110(ywz5000, ywz4000, new_ltEs8(ywz5000, ywz4000, bdf), bdf)
new_compare16(ywz5000, ywz4000) → new_compare26(ywz5000, ywz4000, new_esEs8(ywz5000, ywz4000))
new_esEs25(ywz5002, ywz4002, app(ty_[], hb)) → new_esEs12(ywz5002, ywz4002, hb)
new_compare17(ywz5000, ywz4000, bed, bee, bef) → new_compare210(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, bed, bee, bef), bed, bee, bef)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_compare25(ywz5000, ywz4000, True) → EQ
new_ltEs20(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), cf, ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(ty_Ratio, bdg)) → new_lt11(ywz5000, ywz4000, bdg)
new_compare6(ywz5000, ywz4000) → new_compare25(ywz5000, ywz4000, new_esEs17(ywz5000, ywz4000))
new_ltEs19(ywz500, ywz400, app(app(ty_@2, bca), bcb)) → new_ltEs10(ywz500, ywz400, bca, bcb)
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_esEs6(ywz5000, ywz4000, bed, bee, bef)
new_esEs28(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_compare13(ywz5000, ywz4000, False) → GT
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs28(ywz5000, ywz4000, app(ty_Maybe, bdf)) → new_esEs4(ywz5000, ywz4000, bdf)
new_ltEs19(ywz500, ywz400, app(ty_Ratio, beh)) → new_ltEs9(ywz500, ywz400, beh)
new_esEs7(Right(ywz5000), Right(ywz4000), cf, app(ty_Ratio, db)) → new_esEs13(ywz5000, ywz4000, db)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_lt13(ywz5000, ywz4000) → new_esEs8(new_compare9(ywz5000, ywz4000), LT)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Ratio, bf), bc) → new_esEs13(ywz5000, ywz4000, bf)
new_esEs9(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(ty_Ratio, gb)) → new_lt11(ywz5001, ywz4001, gb)
new_ltEs6(EQ, EQ) → True
new_ltEs20(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_primCmpNat2(Succ(ywz40000), ywz50000) → new_primCmpNat0(ywz40000, ywz50000)
new_compare8(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, ca), cb), bc) → new_ltEs4(ywz5000, ywz4000, ca, cb)
new_ltEs19(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_primCompAux0(ywz333, GT) → GT
new_esEs8(EQ, EQ) → True
new_primPlusNat1(Zero, ywz400000) → Succ(ywz400000)
new_ltEs6(GT, GT) → True
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_compare24(ywz50, ywz40, True, h, ba) → EQ
new_compare31(ywz5000, ywz4000, ty_@0) → new_compare28(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, app(app(ty_Either, bch), bda)) → new_ltEs4(ywz5001, ywz4001, bch, bda)
new_compare31(ywz5000, ywz4000, app(ty_Maybe, bah)) → new_compare32(ywz5000, ywz4000, bah)
new_esEs19(@0, @0) → True
new_esEs7(Right(ywz5000), Right(ywz4000), cf, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, app(app(ty_Either, ge), gf)) → new_esEs7(ywz5001, ywz4001, ge, gf)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_esEs23(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_ltEs18(ywz5002, ywz4002, app(app(ty_@2, he), hf)) → new_ltEs10(ywz5002, ywz4002, he, hf)
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhb), bhc)) → new_esEs7(ywz5000, ywz4000, bhb, bhc)
new_primCmpNat0(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat0(ywz500000, ywz400000)
new_esEs22(ywz5000, ywz4000, app(ty_Maybe, bdf)) → new_esEs4(ywz5000, ywz4000, bdf)
new_esEs22(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, app(ty_Maybe, hc)) → new_esEs4(ywz5002, ywz4002, hc)
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_compare27(ywz5000, ywz4000, True, bdh, bea) → EQ
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bgh), bha)) → new_esEs5(ywz5000, ywz4000, bgh, bha)
new_compare31(ywz5000, ywz4000, app(app(app(ty_@3, bbf), bbg), bbh)) → new_compare17(ywz5000, ywz4000, bbf, bbg, bbh)
new_ltEs19(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_compare31(ywz5000, ywz4000, ty_Bool) → new_compare6(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_compare12(ywz154, ywz155, True, bad, bae) → LT
new_ltEs20(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_ltEs14(False, False) → True
new_esEs16(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs7(Right(ywz5000), Right(ywz4000), cf, app(ty_[], cg)) → new_esEs12(ywz5000, ywz4000, cg)
new_esEs13(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), beh) → new_asAs(new_esEs24(ywz5000, ywz4000, beh), new_esEs23(ywz5001, ywz4001, beh))
new_compare111(ywz5000, ywz4000, True, bed, bee, bef) → LT
new_esEs28(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, ty_@0) → new_esEs19(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_@0) → new_ltEs16(ywz5002, ywz4002)
new_ltEs8(Just(ywz5000), Nothing, beg) → False
new_ltEs12(ywz500, ywz400) → new_not(new_esEs8(new_compare5(ywz500, ywz400), GT))
new_esEs9(ywz5001, ywz4001, app(ty_[], fh)) → new_esEs12(ywz5001, ywz4001, fh)
new_esEs22(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs28(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs8(LT, EQ) → False
new_esEs8(EQ, LT) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_esEs10(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(app(ty_Either, fb), fc)) → new_esEs7(ywz5000, ywz4000, fb, fc)
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_lt4(ywz5000, ywz4000) → new_esEs8(new_compare6(ywz5000, ywz4000), LT)
new_ltEs18(ywz5002, ywz4002, ty_Integer) → new_ltEs11(ywz5002, ywz4002)
new_primPlusNat0(Zero, Succ(ywz4000000)) → Succ(ywz4000000)
new_primPlusNat0(Succ(ywz24800), Zero) → Succ(ywz24800)
new_esEs5(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bca, bcb) → new_asAs(new_esEs22(ywz5000, ywz4000, bca), new_esEs21(ywz5001, ywz4001, bcb))
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(ywz500000), Zero) → GT
new_esEs22(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_compare210(ywz5000, ywz4000, True, bed, bee, bef) → EQ
new_esEs22(ywz5000, ywz4000, app(ty_Ratio, bdg)) → new_esEs13(ywz5000, ywz4000, bdg)
new_lt6(ywz5001, ywz4001, ty_Float) → new_lt17(ywz5001, ywz4001)
new_ltEs4(Right(ywz5000), Right(ywz4000), cf, app(app(app(ty_@3, dg), dh), ea)) → new_ltEs17(ywz5000, ywz4000, dg, dh, ea)
new_compare13(ywz5000, ywz4000, True) → LT
new_sr0(Integer(ywz50000), Integer(ywz40010)) → Integer(new_primMulInt(ywz50000, ywz40010))
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_[], bd), bc) → new_esEs12(ywz5000, ywz4000, bd)
new_ltEs18(ywz5002, ywz4002, app(app(ty_Either, hg), hh)) → new_ltEs4(ywz5002, ywz4002, hg, hh)
new_compare15(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_ltEs20(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_lt6(ywz5001, ywz4001, ty_Double) → new_lt15(ywz5001, ywz4001)
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_esEs20(ywz5000, ywz4000, app(ty_[], bag)) → new_esEs12(ywz5000, ywz4000, bag)
new_compare24(Right(ywz500), Left(ywz400), False, h, ba) → GT
new_esEs28(ywz5000, ywz4000, app(app(ty_Either, beb), bec)) → new_esEs7(ywz5000, ywz4000, beb, bec)
new_compare30(ywz5000, ywz4000, bdh, bea) → new_compare27(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bdh, bea), bdh, bea)
new_esEs7(Right(ywz5000), Right(ywz4000), cf, app(ty_Maybe, da)) → new_esEs4(ywz5000, ywz4000, da)
new_ltEs17(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), eb, ec, ed) → new_pePe(new_lt5(ywz5000, ywz4000, eb), new_asAs(new_esEs10(ywz5000, ywz4000, eb), new_pePe(new_lt6(ywz5001, ywz4001, ec), new_asAs(new_esEs9(ywz5001, ywz4001, ec), new_ltEs18(ywz5002, ywz4002, ed)))))
new_esEs7(Right(ywz5000), Right(ywz4000), cf, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, app(ty_[], fh)) → new_lt9(ywz5001, ywz4001, fh)
new_lt5(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_lt16(ywz50, ywz40, h, ba) → new_esEs8(new_compare18(ywz50, ywz40, h, ba), LT)
new_esEs8(EQ, GT) → False
new_esEs8(GT, EQ) → False
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, ty_Integer) → new_lt13(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(app(ty_@2, gc), gd)) → new_esEs5(ywz5001, ywz4001, gc, gd)
new_esEs22(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bcf), bcg)) → new_esEs5(ywz5001, ywz4001, bcf, bcg)
new_primCompAux0(ywz333, LT) → LT
new_esEs9(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_not(False) → True
new_esEs11(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Left(ywz4000), cf, bc) → False
new_ltEs20(ywz500, ywz400, app(app(app(ty_@3, bfh), bga), bgb)) → new_ltEs17(ywz500, ywz400, bfh, bga, bgb)
new_compare110(ywz5000, ywz4000, True, bdf) → LT
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Double, bc) → new_esEs16(ywz5000, ywz4000)
new_compare210(ywz5000, ywz4000, False, bed, bee, bef) → new_compare111(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000, bed, bee, bef), bed, bee, bef)
new_ltEs4(Right(ywz5000), Right(ywz4000), cf, ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), cf, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, ty_Char) → new_ltEs12(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, ty_Float) → new_esEs18(ywz5002, ywz4002)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, beb), bec)) → new_lt16(ywz5000, ywz4000, beb, bec)
new_esEs9(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs28(ywz5000, ywz4000, app(app(ty_@2, bdh), bea)) → new_esEs5(ywz5000, ywz4000, bdh, bea)
new_compare0(:(ywz5000, ywz5001), [], baf) → GT
new_lt6(ywz5001, ywz4001, app(app(app(ty_@3, gg), gh), ha)) → new_lt19(ywz5001, ywz4001, gg, gh, ha)
new_lt7(ywz5000, ywz4000) → new_esEs8(new_compare8(ywz5000, ywz4000), LT)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), cf, app(ty_Ratio, db)) → new_ltEs9(ywz5000, ywz4000, db)
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_compare27(ywz5000, ywz4000, False, bdh, bea) → new_compare19(ywz5000, ywz4000, new_ltEs10(ywz5000, ywz4000, bdh, bea), bdh, bea)
new_lt6(ywz5001, ywz4001, app(ty_Maybe, ga)) → new_lt10(ywz5001, ywz4001, ga)
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_Ratio, eg)) → new_lt11(ywz5000, ywz4000, eg)
new_primMulInt(Pos(ywz50000), Pos(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_esEs7(Right(ywz5000), Right(ywz4000), cf, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs18(ywz5000, ywz4000)
new_ltEs19(ywz500, ywz400, app(ty_Maybe, beg)) → new_ltEs8(ywz500, ywz400, beg)
new_primMulInt(Neg(ywz50000), Neg(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_esEs9(ywz5001, ywz4001, app(ty_Ratio, gb)) → new_esEs13(ywz5001, ywz4001, gb)
new_ltEs19(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), cf, app(app(ty_@2, dc), dd)) → new_ltEs10(ywz5000, ywz4000, dc, dd)
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_lt20(ywz5000, ywz4000, app(app(ty_@2, bdh), bea)) → new_lt12(ywz5000, ywz4000, bdh, bea)
new_primPlusNat0(Zero, Zero) → Zero
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Float, bc) → new_ltEs15(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), cf, ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(ty_[], bcc)) → new_esEs12(ywz5001, ywz4001, bcc)
new_ltEs6(LT, LT) → True
new_ltEs6(EQ, LT) → False
new_ltEs14(True, True) → True
new_lt20(ywz5000, ywz4000, app(ty_Maybe, bdf)) → new_lt10(ywz5000, ywz4000, bdf)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_ltEs18(ywz5002, ywz4002, app(app(app(ty_@3, baa), bab), bac)) → new_ltEs17(ywz5002, ywz4002, baa, bab, bac)
new_esEs28(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_esEs6(ywz5000, ywz4000, bed, bee, bef)
new_esEs4(Nothing, Nothing, beg) → True
new_ltEs21(ywz5001, ywz4001, app(ty_Ratio, bce)) → new_ltEs9(ywz5001, ywz4001, bce)
new_compare111(ywz5000, ywz4000, False, bed, bee, bef) → GT
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bgg)) → new_esEs13(ywz5000, ywz4000, bgg)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, fd), ff), fg)) → new_esEs6(ywz5000, ywz4000, fd, ff, fg)
new_compare31(ywz5000, ywz4000, app(app(ty_@2, bbb), bbc)) → new_compare30(ywz5000, ywz4000, bbb, bbc)
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, eh), fa)) → new_esEs5(ywz5000, ywz4000, eh, fa)
new_lt5(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_esEs23(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhb), bhc)) → new_ltEs4(ywz5000, ywz4000, bhb, bhc)
new_esEs10(ywz5000, ywz4000, app(app(ty_@2, eh), fa)) → new_esEs5(ywz5000, ywz4000, eh, fa)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, ef)) → new_esEs4(ywz5000, ywz4000, ef)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bch), bda)) → new_esEs7(ywz5001, ywz4001, bch, bda)
new_primPlusNat1(Succ(ywz2480), ywz400000) → Succ(Succ(new_primPlusNat0(ywz2480, ywz400000)))
new_lt15(ywz5000, ywz4000) → new_esEs8(new_compare15(ywz5000, ywz4000), LT)
new_ltEs21(ywz5001, ywz4001, app(ty_Maybe, bcd)) → new_ltEs8(ywz5001, ywz4001, bcd)
new_lt6(ywz5001, ywz4001, ty_Int) → new_lt7(ywz5001, ywz4001)
new_lt19(ywz5000, ywz4000, bed, bee, bef) → new_esEs8(new_compare17(ywz5000, ywz4000, bed, bee, bef), LT)
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_compare110(ywz5000, ywz4000, False, bdf) → GT
new_esEs25(ywz5002, ywz4002, ty_Integer) → new_esEs14(ywz5002, ywz4002)
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), baf) → new_primCompAux1(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, baf), baf)
new_compare19(ywz5000, ywz4000, True, bdh, bea) → LT
new_ltEs19(ywz500, ywz400, app(ty_[], baf)) → new_ltEs7(ywz500, ywz400, baf)
new_compare31(ywz5000, ywz4000, ty_Integer) → new_compare9(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_Ratio, bba)) → new_compare7(ywz5000, ywz4000, bba)
new_ltEs5(ywz500, ywz400) → new_not(new_esEs8(new_compare8(ywz500, ywz400), GT))
new_lt6(ywz5001, ywz4001, app(app(ty_Either, ge), gf)) → new_lt16(ywz5001, ywz4001, ge, gf)
new_esEs24(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs9(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_ltEs19(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs21(ywz5001, ywz4001, ty_@0) → new_ltEs16(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bcd)) → new_esEs4(ywz5001, ywz4001, bcd)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, bbd), bbe)) → new_esEs7(ywz5000, ywz4000, bbd, bbe)
new_lt5(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, ty_Integer) → new_ltEs11(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(app(ty_@2, gc), gd)) → new_esEs5(ywz5001, ywz4001, gc, gd)
new_compare29(ywz5000, ywz4000, True, bdf) → EQ
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCompAux1(ywz5000, ywz4000, ywz290, baf) → new_primCompAux0(ywz290, new_compare31(ywz5000, ywz4000, baf))
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bgf)) → new_ltEs8(ywz5000, ywz4000, bgf)
new_compare18(ywz50, ywz40, h, ba) → new_compare24(ywz50, ywz40, new_esEs7(ywz50, ywz40, h, ba), h, ba)
new_lt5(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Char) → new_compare5(ywz5000, ywz4000)
new_compare9(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_asAs(False, ywz142) → False
new_esEs10(ywz5000, ywz4000, app(app(app(ty_@3, fd), ff), fg)) → new_esEs6(ywz5000, ywz4000, fd, ff, fg)
new_primMulInt(Neg(ywz50000), Pos(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Pos(ywz50000), Neg(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat2(ywz4000, ywz50000)
new_primMulNat0(Succ(ywz500000), Zero) → Zero
new_primMulNat0(Zero, Succ(ywz400000)) → Zero
new_esEs26(ywz5001, ywz4001, app(ty_[], fh)) → new_esEs12(ywz5001, ywz4001, fh)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(ty_Maybe, ga)) → new_esEs4(ywz5001, ywz4001, ga)
new_ltEs21(ywz5001, ywz4001, ty_Bool) → new_ltEs14(ywz5001, ywz4001)
new_esEs10(ywz5000, ywz4000, app(ty_Ratio, eg)) → new_esEs13(ywz5000, ywz4000, eg)
new_lt6(ywz5001, ywz4001, ty_@0) → new_lt18(ywz5001, ywz4001)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Float, bc) → new_esEs18(ywz5000, ywz4000)
new_ltEs18(ywz5002, ywz4002, ty_Bool) → new_ltEs14(ywz5002, ywz4002)
new_compare10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_compare31(ywz5000, ywz4000, app(ty_[], bag)) → new_compare0(ywz5000, ywz4000, bag)
new_esEs28(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_ltEs18(ywz5002, ywz4002, ty_Char) → new_ltEs12(ywz5002, ywz4002)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat2(Zero, ywz40000)
new_esEs25(ywz5002, ywz4002, app(app(app(ty_@3, baa), bab), bac)) → new_esEs6(ywz5002, ywz4002, baa, bab, bac)
new_esEs10(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_ltEs6(LT, GT) → True
new_esEs10(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, cc), cd), ce), bc) → new_esEs6(ywz5000, ywz4000, cc, cd, ce)
new_ltEs21(ywz5001, ywz4001, app(app(ty_@2, bcf), bcg)) → new_ltEs10(ywz5001, ywz4001, bcf, bcg)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(ty_[], bde)) → new_esEs12(ywz5000, ywz4000, bde)
new_esEs24(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_[], bd), bc) → new_ltEs7(ywz5000, ywz4000, bd)
new_ltEs21(ywz5001, ywz4001, ty_Ordering) → new_ltEs6(ywz5001, ywz4001)
new_esEs7(Right(ywz5000), Right(ywz4000), cf, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(ty_Ratio, bdg)) → new_esEs13(ywz5000, ywz4000, bdg)
new_ltEs18(ywz5002, ywz4002, app(ty_Maybe, hc)) → new_ltEs8(ywz5002, ywz4002, hc)
new_ltEs14(True, False) → False
new_esEs25(ywz5002, ywz4002, ty_Char) → new_esEs15(ywz5002, ywz4002)
new_compare11(ywz5000, ywz4000, False) → GT
new_ltEs13(ywz500, ywz400) → new_not(new_esEs8(new_compare15(ywz500, ywz400), GT))
new_lt11(ywz5000, ywz4000, bdg) → new_esEs8(new_compare7(ywz5000, ywz4000, bdg), LT)
new_lt5(ywz5000, ywz4000, app(app(ty_@2, eh), fa)) → new_lt12(ywz5000, ywz4000, eh, fa)
new_ltEs8(Nothing, Nothing, beg) → True
new_esEs26(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, app(app(ty_@2, he), hf)) → new_esEs5(ywz5002, ywz4002, he, hf)
new_ltEs16(ywz500, ywz400) → new_not(new_esEs8(new_compare28(ywz500, ywz400), GT))
new_compare11(ywz5000, ywz4000, True) → LT
new_ltEs19(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), cf, app(ty_[], cg)) → new_ltEs7(ywz5000, ywz4000, cg)
new_esEs9(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_ltEs19(ywz500, ywz400, app(app(app(ty_@3, eb), ec), ed)) → new_ltEs17(ywz500, ywz400, eb, ec, ed)
new_ltEs20(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_compare14(ywz147, ywz148, True, bgc, bgd) → LT
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Bool, bc) → new_esEs17(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat1(ywz40000, Zero)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs19(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Float) → new_compare10(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_primPlusNat0(Succ(ywz24800), Succ(ywz4000000)) → Succ(Succ(new_primPlusNat0(ywz24800, ywz4000000)))
new_esEs9(ywz5001, ywz4001, app(app(app(ty_@3, gg), gh), ha)) → new_esEs6(ywz5001, ywz4001, gg, gh, ha)
new_ltEs4(Right(ywz5000), Right(ywz4000), cf, app(ty_Maybe, da)) → new_ltEs8(ywz5000, ywz4000, da)
new_lt5(ywz5000, ywz4000, app(ty_Maybe, ef)) → new_lt10(ywz5000, ywz4000, ef)
new_compare0([], :(ywz4000, ywz4001), baf) → LT
new_ltEs6(LT, EQ) → True
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bdb), bdc), bdd)) → new_esEs6(ywz5001, ywz4001, bdb, bdc, bdd)
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, bed), bee), bef)) → new_lt19(ywz5000, ywz4000, bed, bee, bef)
new_ltEs6(GT, LT) → False
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_asAs(True, ywz142) → ywz142
new_esEs28(ywz5000, ywz4000, app(ty_[], bde)) → new_esEs12(ywz5000, ywz4000, bde)
new_esEs27(ywz5000, ywz4000, app(ty_[], ee)) → new_esEs12(ywz5000, ywz4000, ee)
new_esEs25(ywz5002, ywz4002, ty_Int) → new_esEs11(ywz5002, ywz4002)
new_lt12(ywz5000, ywz4000, bdh, bea) → new_esEs8(new_compare30(ywz5000, ywz4000, bdh, bea), LT)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_@0, bc) → new_esEs19(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Integer, bc) → new_ltEs11(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bgh), bha)) → new_ltEs10(ywz5000, ywz4000, bgh, bha)
new_ltEs21(ywz5001, ywz4001, ty_Float) → new_ltEs15(ywz5001, ywz4001)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Char, bc) → new_esEs15(ywz5000, ywz4000)
new_esEs9(ywz5001, ywz4001, app(app(ty_Either, ge), gf)) → new_esEs7(ywz5001, ywz4001, ge, gf)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, baf) → new_not(new_esEs8(new_compare0(ywz500, ywz400, baf), GT))
new_ltEs20(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_compare32(ywz5000, ywz4000, bdf) → new_compare29(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, bdf), bdf)
new_compare19(ywz5000, ywz4000, False, bdh, bea) → GT
new_esEs28(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, app(app(ty_Either, hg), hh)) → new_esEs7(ywz5002, ywz4002, hg, hh)
new_lt5(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_lt6(ywz5001, ywz4001, app(app(ty_@2, gc), gd)) → new_lt12(ywz5001, ywz4001, gc, gd)
new_primCompAux0(ywz333, EQ) → ywz333
new_esEs6(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), eb, ec, ed) → new_asAs(new_esEs27(ywz5000, ywz4000, eb), new_asAs(new_esEs26(ywz5001, ywz4001, ec), new_esEs25(ywz5002, ywz4002, ed)))
new_ltEs20(ywz500, ywz400, app(app(ty_@2, bfd), bfe)) → new_ltEs10(ywz500, ywz400, bfd, bfe)
new_ltEs19(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_compare28(@0, @0) → EQ
new_esEs10(ywz5000, ywz4000, app(ty_Maybe, ef)) → new_esEs4(ywz5000, ywz4000, ef)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs10(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_lt18(ywz5000, ywz4000) → new_esEs8(new_compare28(ywz5000, ywz4000), LT)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_not(True) → False
new_compare24(Right(ywz500), Right(ywz400), False, h, ba) → new_compare12(ywz500, ywz400, new_ltEs20(ywz500, ywz400, ba), h, ba)

The set Q consists of the following terms:

new_esEs28(x0, x1, app(ty_Maybe, x2))
new_ltEs21(x0, x1, ty_Int)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_compare24(Right(x0), Right(x1), False, x2, x3)
new_esEs4(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs18(Float(x0, x1), Float(x2, x3))
new_ltEs16(x0, x1)
new_primCmpNat1(x0, Succ(x1))
new_esEs20(x0, x1, ty_Double)
new_lt6(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Double)
new_compare111(x0, x1, False, x2, x3, x4)
new_esEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs12(:(x0, x1), [], x2)
new_esEs23(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Int)
new_esEs7(Left(x0), Left(x1), ty_Int, x2)
new_ltEs4(Right(x0), Right(x1), x2, ty_Char)
new_ltEs21(x0, x1, ty_Ordering)
new_primCompAux0(x0, EQ)
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_compare17(x0, x1, x2, x3, x4)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs18(x0, x1, ty_Bool)
new_ltEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs27(x0, x1, ty_Bool)
new_compare110(x0, x1, False, x2)
new_esEs22(x0, x1, ty_Ordering)
new_compare15(Double(x0, x1), Double(x2, x3))
new_lt6(x0, x1, ty_Ordering)
new_esEs25(x0, x1, app(ty_[], x2))
new_primCmpNat0(Succ(x0), Zero)
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs8(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_compare31(x0, x1, app(ty_Maybe, x2))
new_lt4(x0, x1)
new_compare14(x0, x1, True, x2, x3)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs4(Just(x0), Just(x1), app(ty_[], x2))
new_ltEs21(x0, x1, ty_Double)
new_esEs4(Nothing, Just(x0), x1)
new_compare5(Char(x0), Char(x1))
new_esEs7(Right(x0), Right(x1), x2, ty_Bool)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs4(Nothing, Nothing, x0)
new_ltEs14(True, False)
new_ltEs14(False, True)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_compare210(x0, x1, True, x2, x3, x4)
new_esEs20(x0, x1, ty_Ordering)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_lt8(x0, x1)
new_esEs8(GT, GT)
new_compare110(x0, x1, True, x2)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs12([], [], x0)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_esEs26(x0, x1, ty_Int)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs10(x0, x1, ty_Integer)
new_esEs8(LT, LT)
new_esEs26(x0, x1, ty_Float)
new_primPlusNat1(Zero, x0)
new_ltEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_ltEs19(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Int)
new_primEqNat0(Succ(x0), Succ(x1))
new_ltEs19(x0, x1, ty_Float)
new_esEs17(False, False)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, ty_Integer)
new_lt6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, ty_Float)
new_lt5(x0, x1, ty_Int)
new_esEs4(Just(x0), Just(x1), ty_Bool)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs21(x0, x1, ty_Bool)
new_lt5(x0, x1, app(ty_[], x2))
new_ltEs6(EQ, EQ)
new_pePe(False, x0)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs8(LT, GT)
new_esEs8(GT, LT)
new_ltEs4(Right(x0), Right(x1), x2, ty_Float)
new_compare9(Integer(x0), Integer(x1))
new_pePe(True, x0)
new_esEs28(x0, x1, ty_Int)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_ltEs4(Left(x0), Left(x1), ty_Int, x2)
new_esEs4(Just(x0), Just(x1), ty_@0)
new_esEs4(Just(x0), Just(x1), ty_Int)
new_lt9(x0, x1, x2)
new_esEs4(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs6(LT, EQ)
new_ltEs20(x0, x1, ty_@0)
new_ltEs6(EQ, LT)
new_compare7(:%(x0, x1), :%(x2, x3), ty_Integer)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs21(x0, x1, app(ty_[], x2))
new_primEqNat0(Zero, Zero)
new_ltEs19(x0, x1, ty_Double)
new_ltEs19(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Bool)
new_compare31(x0, x1, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Char)
new_compare26(x0, x1, True)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs8(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, app(app(ty_@2, x2), x3))
new_compare28(@0, @0)
new_esEs4(Just(x0), Nothing, x1)
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_esEs28(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Char)
new_primMulNat0(Zero, Zero)
new_ltEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs8(Just(x0), Nothing, x1)
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, ty_@0)
new_ltEs21(x0, x1, ty_Float)
new_esEs9(x0, x1, ty_Integer)
new_lt5(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_@0)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_compare30(x0, x1, x2, x3)
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs28(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_esEs26(x0, x1, ty_Bool)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Double)
new_ltEs19(x0, x1, ty_Int)
new_esEs7(Left(x0), Left(x1), ty_Char, x2)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_compare0(:(x0, x1), :(x2, x3), x4)
new_lt6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, ty_@0)
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_ltEs21(x0, x1, ty_Integer)
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, app(ty_Ratio, x2))
new_esEs25(x0, x1, ty_Bool)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_compare111(x0, x1, True, x2, x3, x4)
new_esEs9(x0, x1, ty_Bool)
new_esEs4(Just(x0), Just(x1), ty_Float)
new_lt5(x0, x1, ty_@0)
new_esEs10(x0, x1, ty_Ordering)
new_ltEs4(Left(x0), Left(x1), ty_Bool, x2)
new_compare32(x0, x1, x2)
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs4(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs8(Nothing, Nothing, x0)
new_esEs28(x0, x1, ty_Integer)
new_lt5(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Double)
new_compare29(x0, x1, False, x2)
new_ltEs4(Right(x0), Right(x1), x2, ty_Integer)
new_esEs20(x0, x1, ty_@0)
new_compare0(:(x0, x1), [], x2)
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, ty_Int)
new_compare31(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, ty_Int)
new_lt5(x0, x1, ty_Char)
new_compare24(Left(x0), Right(x1), False, x2, x3)
new_compare24(Right(x0), Left(x1), False, x2, x3)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs18(x0, x1, ty_Char)
new_esEs21(x0, x1, ty_Integer)
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_asAs(False, x0)
new_ltEs20(x0, x1, ty_Char)
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs22(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), ty_Double)
new_compare31(x0, x1, ty_Ordering)
new_primCmpNat1(x0, Zero)
new_primCmpNat2(Zero, x0)
new_ltEs11(x0, x1)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_primPlusNat0(Zero, Zero)
new_ltEs19(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Ordering)
new_compare14(x0, x1, False, x2, x3)
new_esEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_compare13(x0, x1, True)
new_lt6(x0, x1, ty_Float)
new_ltEs4(Right(x0), Right(x1), x2, ty_Int)
new_sr(x0, x1)
new_ltEs8(Just(x0), Just(x1), ty_Int)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_compare7(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs4(Just(x0), Just(x1), ty_Ordering)
new_primMulNat0(Zero, Succ(x0))
new_ltEs18(x0, x1, ty_Integer)
new_compare8(x0, x1)
new_esEs4(Just(x0), Just(x1), app(ty_Maybe, x2))
new_compare31(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Bool)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_compare31(x0, x1, app(ty_Ratio, x2))
new_ltEs4(Left(x0), Left(x1), ty_Double, x2)
new_lt20(x0, x1, ty_Ordering)
new_ltEs4(Left(x0), Left(x1), ty_Char, x2)
new_lt5(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_lt10(x0, x1, x2)
new_ltEs5(x0, x1)
new_esEs9(x0, x1, ty_Double)
new_esEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_lt15(x0, x1)
new_ltEs18(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, ty_Ordering)
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_lt6(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Ordering)
new_compare31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs8(Just(x0), Just(x1), ty_Bool)
new_primPlusNat0(Succ(x0), Succ(x1))
new_esEs7(Left(x0), Left(x1), ty_@0, x2)
new_lt6(x0, x1, ty_Integer)
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_ltEs8(Just(x0), Just(x1), ty_Double)
new_lt6(x0, x1, app(ty_[], x2))
new_esEs14(Integer(x0), Integer(x1))
new_esEs7(Right(x0), Right(x1), x2, ty_Double)
new_esEs25(x0, x1, ty_Float)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primMulNat0(Succ(x0), Zero)
new_esEs10(x0, x1, ty_Int)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs20(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Double)
new_esEs16(Double(x0, x1), Double(x2, x3))
new_compare24(x0, x1, True, x2, x3)
new_compare6(x0, x1)
new_compare0([], [], x0)
new_lt5(x0, x1, ty_Bool)
new_lt13(x0, x1)
new_primCompAux0(x0, LT)
new_lt18(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs8(EQ, EQ)
new_ltEs8(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_compare13(x0, x1, False)
new_primPlusNat0(Zero, Succ(x0))
new_ltEs8(Just(x0), Just(x1), ty_Ordering)
new_ltEs19(x0, x1, ty_Integer)
new_esEs9(x0, x1, app(ty_[], x2))
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs10(x0, x1, ty_Float)
new_lt17(x0, x1)
new_esEs4(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, ty_Int)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_lt20(x0, x1, ty_Char)
new_lt20(x0, x1, app(ty_[], x2))
new_ltEs8(Just(x0), Just(x1), app(ty_Ratio, x2))
new_compare24(Left(x0), Left(x1), False, x2, x3)
new_esEs11(x0, x1)
new_gt(x0, x1, x2, x3)
new_lt5(x0, x1, ty_Integer)
new_lt6(x0, x1, app(ty_Ratio, x2))
new_compare27(x0, x1, False, x2, x3)
new_esEs7(Right(x0), Right(x1), x2, ty_Float)
new_sr0(Integer(x0), Integer(x1))
new_ltEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_lt6(x0, x1, ty_Bool)
new_esEs9(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Double)
new_ltEs12(x0, x1)
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs22(x0, x1, ty_Bool)
new_lt5(x0, x1, ty_Float)
new_lt19(x0, x1, x2, x3, x4)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Integer)
new_ltEs20(x0, x1, ty_Float)
new_compare18(x0, x1, x2, x3)
new_ltEs6(GT, GT)
new_primMulInt(Neg(x0), Neg(x1))
new_esEs8(GT, EQ)
new_esEs8(EQ, GT)
new_compare12(x0, x1, True, x2, x3)
new_compare210(x0, x1, False, x2, x3, x4)
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_lt6(x0, x1, ty_Double)
new_esEs26(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs24(x0, x1, ty_Integer)
new_primCmpNat0(Zero, Zero)
new_compare19(x0, x1, False, x2, x3)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_ltEs8(Just(x0), Just(x1), app(ty_[], x2))
new_esEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_compare31(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, ty_@0)
new_ltEs6(LT, LT)
new_esEs26(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_@0)
new_esEs28(x0, x1, ty_Ordering)
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, ty_Integer)
new_compare29(x0, x1, True, x2)
new_ltEs9(x0, x1, x2)
new_ltEs8(Just(x0), Just(x1), app(ty_Maybe, x2))
new_lt16(x0, x1, x2, x3)
new_primCmpNat0(Zero, Succ(x0))
new_esEs12([], :(x0, x1), x2)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, ty_Char)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, ty_Int)
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_esEs28(x0, x1, ty_Char)
new_ltEs8(Just(x0), Just(x1), ty_@0)
new_primPlusNat0(Succ(x0), Zero)
new_esEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs13(:%(x0, x1), :%(x2, x3), x4)
new_esEs26(x0, x1, app(ty_[], x2))
new_ltEs4(Left(x0), Right(x1), x2, x3)
new_ltEs4(Right(x0), Left(x1), x2, x3)
new_ltEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs22(x0, x1, ty_Double)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_ltEs8(Just(x0), Just(x1), ty_Integer)
new_ltEs21(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Int)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_lt14(x0, x1)
new_compare25(x0, x1, True)
new_ltEs14(True, True)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs7(Right(x0), Right(x1), x2, ty_Integer)
new_ltEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs7(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs14(False, False)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs27(x0, x1, ty_Double)
new_lt12(x0, x1, x2, x3)
new_esEs22(x0, x1, ty_Float)
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_compare10(Float(x0, x1), Float(x2, x3))
new_esEs24(x0, x1, ty_Int)
new_ltEs4(Right(x0), Right(x1), x2, ty_@0)
new_not(True)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_compare12(x0, x1, False, x2, x3)
new_ltEs8(Just(x0), Just(x1), ty_Float)
new_esEs27(x0, x1, ty_Char)
new_compare27(x0, x1, True, x2, x3)
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs21(x0, x1, ty_@0)
new_ltEs10(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs21(x0, x1, ty_@0)
new_esEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Double)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_not(False)
new_lt6(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(Right(x0), Right(x1), x2, ty_@0)
new_esEs25(x0, x1, ty_Ordering)
new_esEs7(Left(x0), Left(x1), ty_Double, x2)
new_lt6(x0, x1, ty_Char)
new_esEs7(Left(x0), Left(x1), ty_Float, x2)
new_esEs4(Just(x0), Just(x1), ty_Integer)
new_esEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs26(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_@0)
new_compare25(x0, x1, False)
new_esEs22(x0, x1, app(ty_[], x2))
new_ltEs6(EQ, GT)
new_ltEs6(GT, EQ)
new_compare31(x0, x1, ty_Integer)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_ltEs18(x0, x1, ty_Double)
new_esEs9(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Double)
new_esEs26(x0, x1, ty_@0)
new_esEs21(x0, x1, ty_Float)
new_ltEs13(x0, x1)
new_ltEs7(x0, x1, x2)
new_ltEs8(Just(x0), Just(x1), ty_Char)
new_esEs15(Char(x0), Char(x1))
new_compare16(x0, x1)
new_ltEs15(x0, x1)
new_esEs9(x0, x1, ty_Float)
new_asAs(True, x0)
new_esEs8(EQ, LT)
new_esEs8(LT, EQ)
new_lt6(x0, x1, app(ty_Maybe, x2))
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare0([], :(x0, x1), x2)
new_primCompAux0(x0, GT)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_ltEs18(x0, x1, ty_Ordering)
new_esEs9(x0, x1, ty_Int)
new_lt7(x0, x1)
new_esEs7(Right(x0), Left(x1), x2, x3)
new_esEs7(Left(x0), Right(x1), x2, x3)
new_primCompAux1(x0, x1, x2, x3)
new_esEs7(Left(x0), Left(x1), ty_Bool, x2)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_@0)
new_ltEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs17(False, True)
new_esEs17(True, False)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_esEs25(x0, x1, ty_Char)
new_ltEs4(Left(x0), Left(x1), ty_Float, x2)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_lt20(x0, x1, ty_Float)
new_compare19(x0, x1, True, x2, x3)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs17(True, True)
new_esEs23(x0, x1, ty_Int)
new_compare26(x0, x1, False)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs10(x0, x1, app(ty_[], x2))
new_primEqNat0(Zero, Succ(x0))
new_esEs7(Right(x0), Right(x1), x2, ty_Int)
new_primCmpNat2(Succ(x0), x1)
new_esEs10(x0, x1, ty_Char)
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Bool)
new_esEs28(x0, x1, ty_@0)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, ty_Ordering)
new_esEs7(Right(x0), Right(x1), x2, ty_Char)
new_esEs19(@0, @0)
new_compare11(x0, x1, False)
new_esEs20(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_Int)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_esEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_compare11(x0, x1, True)
new_esEs4(Just(x0), Just(x1), app(ty_Ratio, x2))
new_primPlusNat1(Succ(x0), x1)
new_esEs9(x0, x1, ty_@0)
new_esEs12(:(x0, x1), :(x2, x3), x4)
new_ltEs8(Nothing, Just(x0), x1)
new_lt11(x0, x1, x2)
new_ltEs4(Left(x0), Left(x1), ty_@0, x2)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ UsableRulesProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, False, h, ba, bb) → new_mkVBalBranch3MkVBalBranch1(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_lt7(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_r(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), new_mkVBalBranch3Size_l(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), h, ba, bb)
new_mkVBalBranch3MkVBalBranch2(ywz60, ywz61, ywz62, Branch(ywz630, ywz631, ywz632, ywz633, ywz634), ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, True, h, ba, bb) → new_mkVBalBranch3MkVBalBranch2(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_lt7(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), new_mkVBalBranch3Size_r(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), h, ba, bb)
new_mkVBalBranch3(ywz50, ywz9, ywz740, ywz741, ywz742, ywz743, ywz744, ywz630, ywz631, ywz632, ywz633, ywz634, h, ba, bb) → new_mkVBalBranch3MkVBalBranch2(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_lt7(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), new_mkVBalBranch3Size_r(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), h, ba, bb)
new_mkVBalBranch3MkVBalBranch1(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, Branch(ywz7440, ywz7441, ywz7442, ywz7443, ywz7444), ywz50, ywz9, True, h, ba, bb) → new_mkVBalBranch3(ywz50, ywz9, ywz7440, ywz7441, ywz7442, ywz7443, ywz7444, ywz60, ywz61, ywz62, ywz63, ywz64, h, ba, bb)

The TRS R consists of the following rules:

new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_primCmpNat2(Succ(ywz40000), ywz50000) → new_primCmpNat0(ywz40000, ywz50000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat1(ywz40000, Zero)
new_primCmpNat2(Zero, ywz50000) → LT
new_compare8(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primMulInt(Pos(ywz50000), Pos(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_esEs8(EQ, EQ) → True
new_primMulInt(Neg(ywz50000), Pos(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Pos(ywz50000), Neg(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primPlusNat1(Zero, ywz400000) → Succ(ywz400000)
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat2(ywz4000, ywz50000)
new_primMulNat0(Succ(ywz500000), Zero) → Zero
new_primMulNat0(Zero, Succ(ywz400000)) → Zero
new_primMulNat0(Succ(ywz500000), Succ(ywz400000)) → new_primPlusNat1(new_primMulNat0(ywz500000, Succ(ywz400000)), ywz400000)
new_primPlusNat0(Succ(ywz24800), Succ(ywz4000000)) → Succ(Succ(new_primPlusNat0(ywz24800, ywz4000000)))
new_primMulInt(Neg(ywz50000), Neg(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_primCmpNat1(ywz50000, Succ(ywz40000)) → new_primCmpNat0(ywz50000, ywz40000)
new_primPlusNat0(Zero, Zero) → Zero
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpNat0(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat0(ywz500000, ywz400000)
new_sr(ywz5000, ywz4000) → new_primMulInt(ywz5000, ywz4000)
new_primCmpNat1(ywz50000, Zero) → GT
new_esEs8(GT, EQ) → False
new_esEs8(EQ, GT) → False
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat2(Zero, ywz40000)
new_primMulNat0(Zero, Zero) → Zero
new_esEs8(GT, GT) → True
new_primPlusNat1(Succ(ywz2480), ywz400000) → Succ(Succ(new_primPlusNat0(ywz2480, ywz400000)))
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat1(ywz50000, ywz4000)
new_mkVBalBranch3Size_r(ywz60, ywz61, ywz62, ywz63, ywz64, ywz70, ywz71, ywz72, ywz73, ywz74, h, ba, bb) → new_sizeFM(ywz60, ywz61, ywz62, ywz63, ywz64, h, ba, bb)
new_esEs8(GT, LT) → False
new_esEs8(LT, GT) → False
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_sizeFM(ywz70, ywz71, ywz72, ywz73, ywz74, h, ba, bb) → ywz72
new_primCmpNat0(Zero, Succ(ywz400000)) → LT
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_esEs8(EQ, LT) → False
new_esEs8(LT, EQ) → False
new_esEs8(LT, LT) → True
new_primPlusNat0(Zero, Succ(ywz4000000)) → Succ(ywz4000000)
new_primPlusNat0(Succ(ywz24800), Zero) → Succ(ywz24800)
new_mkVBalBranch3Size_l(ywz60, ywz61, ywz62, ywz63, ywz64, ywz70, ywz71, ywz72, ywz73, ywz74, h, ba, bb) → new_sizeFM(ywz70, ywz71, ywz72, ywz73, ywz74, h, ba, bb)
new_lt7(ywz5000, ywz4000) → new_esEs8(new_compare8(ywz5000, ywz4000), LT)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpNat0(Succ(ywz500000), Zero) → GT

The set Q consists of the following terms:

new_primMulInt(Pos(x0), Pos(x1))
new_esEs8(LT, EQ)
new_esEs8(EQ, LT)
new_primPlusNat0(Succ(x0), Succ(x1))
new_lt7(x0, x1)
new_primMulNat0(Zero, Zero)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12)
new_primCmpNat1(x0, Succ(x1))
new_primPlusNat1(Zero, x0)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs8(LT, LT)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primMulNat0(Succ(x0), Succ(x1))
new_primMulNat0(Succ(x0), Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpNat1(x0, Zero)
new_primCmpNat2(Zero, x0)
new_primMulInt(Neg(x0), Neg(x1))
new_esEs8(EQ, GT)
new_esEs8(GT, EQ)
new_primPlusNat0(Zero, Zero)
new_sIZE_RATIO
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs8(LT, GT)
new_esEs8(GT, LT)
new_sr(x0, x1)
new_esEs8(EQ, EQ)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primPlusNat0(Zero, Succ(x0))
new_primCmpNat0(Zero, Zero)
new_primCmpNat0(Succ(x0), Zero)
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6, x7)
new_primCmpNat2(Succ(x0), x1)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primMulNat0(Zero, Succ(x0))
new_compare8(x0, x1)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat0(Succ(x0), Zero)
new_primPlusNat1(Succ(x0), x1)
new_esEs8(GT, GT)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ UsableRulesProof
QDP
                                        ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_mkVBalBranch3MkVBalBranch2(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, False, h, ba, bb) → new_mkVBalBranch3MkVBalBranch1(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_lt7(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_r(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), new_mkVBalBranch3Size_l(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), h, ba, bb)
new_mkVBalBranch3MkVBalBranch2(ywz60, ywz61, ywz62, Branch(ywz630, ywz631, ywz632, ywz633, ywz634), ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, True, h, ba, bb) → new_mkVBalBranch3MkVBalBranch2(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_lt7(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), new_mkVBalBranch3Size_r(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), h, ba, bb)
new_mkVBalBranch3(ywz50, ywz9, ywz740, ywz741, ywz742, ywz743, ywz744, ywz630, ywz631, ywz632, ywz633, ywz634, h, ba, bb) → new_mkVBalBranch3MkVBalBranch2(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_lt7(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), new_mkVBalBranch3Size_r(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), h, ba, bb)
new_mkVBalBranch3MkVBalBranch1(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, Branch(ywz7440, ywz7441, ywz7442, ywz7443, ywz7444), ywz50, ywz9, True, h, ba, bb) → new_mkVBalBranch3(ywz50, ywz9, ywz7440, ywz7441, ywz7442, ywz7443, ywz7444, ywz60, ywz61, ywz62, ywz63, ywz64, h, ba, bb)

The TRS R consists of the following rules:

new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_mkVBalBranch3Size_l(ywz60, ywz61, ywz62, ywz63, ywz64, ywz70, ywz71, ywz72, ywz73, ywz74, h, ba, bb) → new_sizeFM(ywz70, ywz71, ywz72, ywz73, ywz74, h, ba, bb)
new_sr(ywz5000, ywz4000) → new_primMulInt(ywz5000, ywz4000)
new_mkVBalBranch3Size_r(ywz60, ywz61, ywz62, ywz63, ywz64, ywz70, ywz71, ywz72, ywz73, ywz74, h, ba, bb) → new_sizeFM(ywz60, ywz61, ywz62, ywz63, ywz64, h, ba, bb)
new_lt7(ywz5000, ywz4000) → new_esEs8(new_compare8(ywz5000, ywz4000), LT)
new_compare8(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_esEs8(GT, LT) → False
new_esEs8(EQ, LT) → False
new_esEs8(LT, LT) → True
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat1(ywz40000, Zero)
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat2(ywz4000, ywz50000)
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat2(Zero, ywz40000)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat1(ywz50000, ywz4000)
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpNat1(ywz50000, Succ(ywz40000)) → new_primCmpNat0(ywz50000, ywz40000)
new_primCmpNat1(ywz50000, Zero) → GT
new_primCmpNat0(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat0(ywz500000, ywz400000)
new_primCmpNat0(Zero, Succ(ywz400000)) → LT
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(ywz500000), Zero) → GT
new_primCmpNat2(Zero, ywz50000) → LT
new_primCmpNat2(Succ(ywz40000), ywz50000) → new_primCmpNat0(ywz40000, ywz50000)
new_sizeFM(ywz70, ywz71, ywz72, ywz73, ywz74, h, ba, bb) → ywz72
new_primMulInt(Pos(ywz50000), Pos(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Neg(ywz50000), Pos(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Pos(ywz50000), Neg(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Neg(ywz50000), Neg(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_primMulNat0(Succ(ywz500000), Zero) → Zero
new_primMulNat0(Zero, Succ(ywz400000)) → Zero
new_primMulNat0(Succ(ywz500000), Succ(ywz400000)) → new_primPlusNat1(new_primMulNat0(ywz500000, Succ(ywz400000)), ywz400000)
new_primMulNat0(Zero, Zero) → Zero
new_primPlusNat1(Zero, ywz400000) → Succ(ywz400000)
new_primPlusNat1(Succ(ywz2480), ywz400000) → Succ(Succ(new_primPlusNat0(ywz2480, ywz400000)))
new_primPlusNat0(Succ(ywz24800), Succ(ywz4000000)) → Succ(Succ(new_primPlusNat0(ywz24800, ywz4000000)))
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Zero, Succ(ywz4000000)) → Succ(ywz4000000)
new_primPlusNat0(Succ(ywz24800), Zero) → Succ(ywz24800)

The set Q consists of the following terms:

new_primMulInt(Pos(x0), Pos(x1))
new_esEs8(LT, EQ)
new_esEs8(EQ, LT)
new_primPlusNat0(Succ(x0), Succ(x1))
new_lt7(x0, x1)
new_primMulNat0(Zero, Zero)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12)
new_primCmpNat1(x0, Succ(x1))
new_primPlusNat1(Zero, x0)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs8(LT, LT)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_primMulNat0(Succ(x0), Succ(x1))
new_primMulNat0(Succ(x0), Zero)
new_primCmpNat0(Succ(x0), Succ(x1))
new_primCmpNat1(x0, Zero)
new_primCmpNat2(Zero, x0)
new_primMulInt(Neg(x0), Neg(x1))
new_esEs8(EQ, GT)
new_esEs8(GT, EQ)
new_primPlusNat0(Zero, Zero)
new_sIZE_RATIO
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs8(LT, GT)
new_esEs8(GT, LT)
new_sr(x0, x1)
new_esEs8(EQ, EQ)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primPlusNat0(Zero, Succ(x0))
new_primCmpNat0(Zero, Zero)
new_primCmpNat0(Succ(x0), Zero)
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Neg(Zero), Neg(Zero))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_sizeFM(x0, x1, x2, x3, x4, x5, x6, x7)
new_primCmpNat2(Succ(x0), x1)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primMulNat0(Zero, Succ(x0))
new_compare8(x0, x1)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12)
new_primCmpNat0(Zero, Succ(x0))
new_primPlusNat0(Succ(x0), Zero)
new_primPlusNat1(Succ(x0), x1)
new_esEs8(GT, GT)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ DependencyGraphProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_splitGT2(ywz48, ywz49, ywz50, ywz51, ywz52, ywz53, True, bc, bd, be) → new_splitGT(ywz52, ywz53, bc, bd, be)
new_splitGT21(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba, bb) → new_splitGT11(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_lt16(Right(ywz500), Left(ywz400), h, ba), h, ba, bb)
new_splitGT22(ywz63, ywz64, ywz65, ywz66, ywz67, ywz68, False, bf, bg, bh) → new_splitGT12(ywz63, ywz64, ywz65, ywz66, ywz67, ywz68, new_lt16(Right(ywz68), Right(ywz63), bf, bg), bf, bg, bh)
new_splitGT3(Left(ywz400), ywz41, ywz42, ywz43, ywz44, Left(ywz500), h, ba, bb) → new_splitGT2(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Left(ywz500), Left(ywz400), new_esEs29(ywz500, ywz400, h), h, ba), GT), h, ba, bb)
new_splitGT10(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba, bb) → new_splitGT(ywz43, ywz500, h, ba, bb)
new_splitGT11(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba, bb) → new_splitGT0(ywz43, ywz500, h, ba, bb)
new_splitGT(Branch(ywz440, ywz441, ywz442, ywz443, ywz444), ywz500, h, ba, bb) → new_splitGT3(ywz440, ywz441, ywz442, ywz443, ywz444, Left(ywz500), h, ba, bb)
new_splitGT3(Left(ywz400), ywz41, ywz42, ywz43, ywz44, Right(ywz500), h, ba, bb) → new_splitGT21(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Right(ywz500), Left(ywz400), False, h, ba), GT), h, ba, bb)
new_splitGT3(Right(ywz400), ywz41, ywz42, ywz43, ywz44, Right(ywz500), h, ba, bb) → new_splitGT22(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Right(ywz500), Right(ywz400), new_esEs30(ywz500, ywz400, ba), h, ba), GT), h, ba, bb)
new_splitGT20(ywz400, ywz41, ywz42, ywz43, Branch(ywz440, ywz441, ywz442, ywz443, ywz444), ywz500, True, h, ba, bb) → new_splitGT3(ywz440, ywz441, ywz442, ywz443, ywz444, Left(ywz500), h, ba, bb)
new_splitGT21(ywz400, ywz41, ywz42, ywz43, Branch(ywz440, ywz441, ywz442, ywz443, ywz444), ywz500, True, h, ba, bb) → new_splitGT3(ywz440, ywz441, ywz442, ywz443, ywz444, Right(ywz500), h, ba, bb)
new_splitGT12(ywz63, ywz64, ywz65, ywz66, ywz67, ywz68, True, bf, bg, bh) → new_splitGT0(ywz66, ywz68, bf, bg, bh)
new_splitGT20(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba, bb) → new_splitGT10(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_lt16(Left(ywz500), Right(ywz400), h, ba), h, ba, bb)
new_splitGT22(ywz63, ywz64, ywz65, ywz66, ywz67, ywz68, True, bf, bg, bh) → new_splitGT0(ywz67, ywz68, bf, bg, bh)
new_splitGT1(ywz48, ywz49, ywz50, ywz51, ywz52, ywz53, True, bc, bd, be) → new_splitGT(ywz51, ywz53, bc, bd, be)
new_splitGT3(Right(ywz400), ywz41, ywz42, ywz43, ywz44, Left(ywz500), h, ba, bb) → new_splitGT20(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Left(ywz500), Right(ywz400), False, h, ba), GT), h, ba, bb)
new_splitGT0(Branch(ywz440, ywz441, ywz442, ywz443, ywz444), ywz500, h, ba, bb) → new_splitGT3(ywz440, ywz441, ywz442, ywz443, ywz444, Right(ywz500), h, ba, bb)
new_splitGT2(ywz48, ywz49, ywz50, ywz51, ywz52, ywz53, False, bc, bd, be) → new_splitGT1(ywz48, ywz49, ywz50, ywz51, ywz52, ywz53, new_lt16(Left(ywz53), Left(ywz48), bc, bd), bc, bd, be)

The TRS R consists of the following rules:

new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bhd)) → new_esEs4(ywz5000, ywz4000, bhd)
new_lt14(ywz5000, ywz4000) → new_esEs8(new_compare5(ywz5000, ywz4000), LT)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cg), da), ca) → new_esEs7(ywz5000, ywz4000, cg, da)
new_compare31(ywz5000, ywz4000, ty_Double) → new_compare15(ywz5000, ywz4000)
new_primCmpNat2(Zero, ywz50000) → LT
new_esEs12(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bbd) → new_asAs(new_esEs20(ywz5000, ywz4000, bbd), new_esEs12(ywz5001, ywz4001, bbd))
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_ltEs11(ywz500, ywz400) → new_not(new_esEs8(new_compare9(ywz500, ywz400), GT))
new_ltEs20(ywz500, ywz400, app(ty_Ratio, bga)) → new_ltEs9(ywz500, ywz400, bga)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Maybe, cc), ca) → new_esEs4(ywz5000, ywz4000, cc)
new_ltEs18(ywz5002, ywz4002, ty_Float) → new_ltEs15(ywz5002, ywz4002)
new_esEs4(Nothing, Just(ywz4000), bfe) → False
new_esEs4(Just(ywz5000), Nothing, bfe) → False
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_compare24(Left(ywz500), Left(ywz400), False, h, ba) → new_compare14(ywz500, ywz400, new_ltEs19(ywz500, ywz400, h), h, ba)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_compare26(ywz5000, ywz4000, False) → new_compare13(ywz5000, ywz4000, new_ltEs6(ywz5000, ywz4000))
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_ltEs20(ywz500, ywz400, app(ty_[], bfg)) → new_ltEs7(ywz500, ywz400, bfg)
new_esEs9(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_compare31(ywz5000, ywz4000, ty_Int) → new_compare8(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Ordering) → new_compare16(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_primMulNat0(Zero, Zero) → Zero
new_lt6(ywz5001, ywz4001, ty_Bool) → new_lt4(ywz5001, ywz4001)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cab), cac), cad)) → new_esEs6(ywz5000, ywz4000, cab, cac, cad)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Int, ca) → new_ltEs5(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bbf)) → new_esEs4(ywz5000, ywz4000, bbf)
new_ltEs21(ywz5001, ywz4001, app(app(app(ty_@3, bdh), bea), beb)) → new_ltEs17(ywz5001, ywz4001, bdh, bea, beb)
new_ltEs10(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcg, bch) → new_pePe(new_lt20(ywz5000, ywz4000, bcg), new_asAs(new_esEs28(ywz5000, ywz4000, bcg), new_ltEs21(ywz5001, ywz4001, bch)))
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_ltEs20(ywz500, ywz400, app(ty_Maybe, bfh)) → new_ltEs8(ywz500, ywz400, bfh)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_lt10(ywz5000, ywz4000, bed) → new_esEs8(new_compare32(ywz5000, ywz4000, bed), LT)
new_ltEs14(False, True) → True
new_esEs25(ywz5002, ywz4002, ty_Bool) → new_esEs17(ywz5002, ywz4002)
new_lt8(ywz5000, ywz4000) → new_esEs8(new_compare16(ywz5000, ywz4000), LT)
new_esEs26(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, ty_Double) → new_esEs16(ywz5002, ywz4002)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Double, ca) → new_ltEs13(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, app(app(ty_Either, bgd), bge)) → new_esEs7(ywz500, ywz400, bgd, bge)
new_compare24(Left(ywz500), Right(ywz400), False, h, ba) → LT
new_ltEs9(ywz500, ywz400, bff) → new_not(new_esEs8(new_compare7(ywz500, ywz400, bff), GT))
new_compare5(Char(ywz5000), Char(ywz4000)) → new_primCmpNat0(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, ce), cf), ca) → new_ltEs10(ywz5000, ywz4000, ce, cf)
new_esEs17(True, True) → True
new_esEs18(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs18(ywz5002, ywz4002, app(ty_Ratio, bab)) → new_ltEs9(ywz5002, ywz4002, bab)
new_esEs12([], [], bbd) → True
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bbg)) → new_esEs13(ywz5000, ywz4000, bbg)
new_ltEs15(ywz500, ywz400) → new_not(new_esEs8(new_compare10(ywz500, ywz400), GT))
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Integer, ca) → new_esEs14(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, ty_Int) → new_ltEs5(ywz5001, ywz4001)
new_esEs22(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_esEs5(ywz5000, ywz4000, bef, beg)
new_lt9(ywz5000, ywz4000, bec) → new_esEs8(new_compare0(ywz5000, ywz4000, bec), LT)
new_esEs26(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, cc), ca) → new_ltEs8(ywz5000, ywz4000, cc)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Char, ca) → new_ltEs12(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs29(ywz500, ywz400, ty_Float) → new_esEs18(ywz500, ywz400)
new_esEs26(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_esEs4(ywz5001, ywz4001, gg)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, db), dc), dd), ca) → new_ltEs17(ywz5000, ywz4000, db, dc, dd)
new_ltEs18(ywz5002, ywz4002, app(ty_[], hh)) → new_ltEs7(ywz5002, ywz4002, hh)
new_primCmpNat1(ywz50000, Succ(ywz40000)) → new_primCmpNat0(ywz50000, ywz40000)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_esEs7(ywz5000, ywz4000, beh, bfa)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs9(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_ltEs19(ywz500, ywz400, app(app(ty_Either, de), ca)) → new_ltEs4(ywz500, ywz400, de, ca)
new_pePe(False, ywz225) → ywz225
new_esEs29(ywz500, ywz400, ty_Double) → new_esEs16(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Right(ywz4000), de, ca) → False
new_esEs7(Right(ywz5000), Left(ywz4000), de, ca) → False
new_esEs12(:(ywz5000, ywz5001), [], bbd) → False
new_esEs12([], :(ywz4000, ywz4001), bbd) → False
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, ca) → new_ltEs6(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_primCmpNat1(ywz50000, Zero) → GT
new_esEs28(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_esEs7(ywz5000, ywz4000, ga, gb)
new_esEs26(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_ltEs20(ywz500, ywz400, app(app(ty_Either, bgd), bge)) → new_ltEs4(ywz500, ywz400, bgd, bge)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhe)) → new_ltEs9(ywz5000, ywz4000, bhe)
new_ltEs6(GT, EQ) → False
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(ty_Either, ec), ed)) → new_ltEs4(ywz5000, ywz4000, ec, ed)
new_esEs22(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs29(ywz500, ywz400, app(ty_Ratio, bff)) → new_esEs13(ywz500, ywz400, bff)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, bbh), bca)) → new_esEs5(ywz5000, ywz4000, bbh, bca)
new_esEs14(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Right(ywz4000), de, ca) → True
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(ty_@2, ea), eb)) → new_esEs5(ywz5000, ywz4000, ea, eb)
new_primCmpNat0(Zero, Succ(ywz400000)) → LT
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Bool, ca) → new_ltEs14(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, ty_Char) → new_lt14(ywz5001, ywz4001)
new_ltEs8(Nothing, Just(ywz4000), bfe) → True
new_ltEs19(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_esEs8(LT, LT) → True
new_lt6(ywz5001, ywz4001, ty_Ordering) → new_lt8(ywz5001, ywz4001)
new_esEs30(ywz500, ywz400, ty_Float) → new_esEs18(ywz500, ywz400)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bdc)) → new_esEs13(ywz5001, ywz4001, bdc)
new_esEs28(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_lt19(ywz5000, ywz4000, gc, gd, ge)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Int, ca) → new_esEs11(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, cd), ca) → new_ltEs9(ywz5000, ywz4000, cd)
new_esEs25(ywz5002, ywz4002, ty_Ordering) → new_esEs8(ywz5002, ywz4002)
new_esEs30(ywz500, ywz400, ty_@0) → new_esEs19(ywz500, ywz400)
new_ltEs18(ywz5002, ywz4002, ty_Double) → new_ltEs13(ywz5002, ywz4002)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_@0, ca) → new_ltEs16(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, app(ty_Ratio, bab)) → new_esEs13(ywz5002, ywz4002, bab)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bcd), bce), bcf)) → new_esEs6(ywz5000, ywz4000, bcd, bce, bcf)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_[], bhc)) → new_ltEs7(ywz5000, ywz4000, bhc)
new_pePe(True, ywz225) → True
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare8(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare9(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_compare0([], [], bbd) → EQ
new_compare14(ywz147, ywz148, False, bha, bhb) → GT
new_ltEs21(ywz5001, ywz4001, ty_Double) → new_ltEs13(ywz5001, ywz4001)
new_primEqNat0(Zero, Zero) → True
new_compare31(ywz5000, ywz4000, app(app(ty_Either, bcb), bcc)) → new_compare18(ywz5000, ywz4000, bcb, bcc)
new_compare26(ywz5000, ywz4000, True) → EQ
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(ty_[], fc)) → new_esEs12(ywz5000, ywz4000, fc)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_@2, ce), cf), ca) → new_esEs5(ywz5000, ywz4000, ce, cf)
new_ltEs21(ywz5001, ywz4001, app(ty_[], bda)) → new_ltEs7(ywz5001, ywz4001, bda)
new_primMulNat0(Succ(ywz500000), Succ(ywz400000)) → new_primPlusNat1(new_primMulNat0(ywz500000, Succ(ywz400000)), ywz400000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_[], bhc)) → new_esEs12(ywz5000, ywz4000, bhc)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cab), cac), cad)) → new_ltEs17(ywz5000, ywz4000, cab, cac, cad)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_esEs13(ywz5001, ywz4001, gh)
new_lt20(ywz5000, ywz4000, app(ty_[], bec)) → new_lt9(ywz5000, ywz4000, bec)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_esEs13(ywz5000, ywz4000, ff)
new_esEs29(ywz500, ywz400, ty_@0) → new_esEs19(ywz500, ywz400)
new_esEs17(False, False) → True
new_esEs17(False, True) → False
new_esEs17(True, False) → False
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Ordering, ca) → new_esEs8(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_lt16(ywz5000, ywz4000, ga, gb)
new_esEs15(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_ltEs18(ywz5002, ywz4002, ty_Int) → new_ltEs5(ywz5002, ywz4002)
new_ltEs19(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(app(ty_@3, ee), ef), eg)) → new_esEs6(ywz5000, ywz4000, ee, ef, eg)
new_sr(ywz5000, ywz4000) → new_primMulInt(ywz5000, ywz4000)
new_compare12(ywz154, ywz155, False, bbb, bbc) → GT
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, ty_Bool) → new_esEs17(ywz500, ywz400)
new_lt5(ywz5000, ywz4000, app(ty_[], fc)) → new_lt9(ywz5000, ywz4000, fc)
new_esEs26(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_ltEs6(EQ, GT) → True
new_esEs8(GT, GT) → True
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_ltEs18(ywz5002, ywz4002, ty_Ordering) → new_ltEs6(ywz5002, ywz4002)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat1(ywz50000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(ty_Either, ec), ed)) → new_esEs7(ywz5000, ywz4000, ec, ed)
new_esEs26(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_esEs6(ywz5001, ywz4001, he, hf, hg)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_compare25(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs14(ywz5000, ywz4000))
new_esEs8(LT, GT) → False
new_esEs8(GT, LT) → False
new_lt17(ywz5000, ywz4000) → new_esEs8(new_compare10(ywz5000, ywz4000), LT)
new_compare29(ywz5000, ywz4000, False, bed) → new_compare110(ywz5000, ywz4000, new_ltEs8(ywz5000, ywz4000, bed), bed)
new_compare16(ywz5000, ywz4000) → new_compare26(ywz5000, ywz4000, new_esEs8(ywz5000, ywz4000))
new_esEs25(ywz5002, ywz4002, app(ty_[], hh)) → new_esEs12(ywz5002, ywz4002, hh)
new_compare17(ywz5000, ywz4000, bfb, bfc, bfd) → new_compare210(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd), bfb, bfc, bfd)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_compare25(ywz5000, ywz4000, True) → EQ
new_ltEs20(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_lt11(ywz5000, ywz4000, bee)
new_compare6(ywz5000, ywz4000) → new_compare25(ywz5000, ywz4000, new_esEs17(ywz5000, ywz4000))
new_ltEs19(ywz500, ywz400, app(app(ty_@2, bcg), bch)) → new_ltEs10(ywz500, ywz400, bcg, bch)
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs28(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, app(ty_Maybe, bfh)) → new_esEs4(ywz500, ywz400, bfh)
new_lt5(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_compare13(ywz5000, ywz4000, False) → GT
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs28(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_esEs4(ywz5000, ywz4000, bed)
new_ltEs19(ywz500, ywz400, app(ty_Ratio, bff)) → new_ltEs9(ywz500, ywz400, bff)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_Ratio, dh)) → new_esEs13(ywz5000, ywz4000, dh)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_lt13(ywz5000, ywz4000) → new_esEs8(new_compare9(ywz5000, ywz4000), LT)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Ratio, cd), ca) → new_esEs13(ywz5000, ywz4000, cd)
new_esEs9(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_lt11(ywz5001, ywz4001, gh)
new_ltEs6(EQ, EQ) → True
new_ltEs20(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_primCmpNat2(Succ(ywz40000), ywz50000) → new_primCmpNat0(ywz40000, ywz50000)
new_compare8(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cg), da), ca) → new_ltEs4(ywz5000, ywz4000, cg, da)
new_ltEs19(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_primCompAux0(ywz333, GT) → GT
new_esEs8(EQ, EQ) → True
new_primPlusNat1(Zero, ywz400000) → Succ(ywz400000)
new_ltEs6(GT, GT) → True
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_compare24(ywz50, ywz40, True, h, ba) → EQ
new_compare31(ywz5000, ywz4000, ty_@0) → new_compare28(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, app(app(ty_Either, bdf), bdg)) → new_ltEs4(ywz5001, ywz4001, bdf, bdg)
new_compare31(ywz5000, ywz4000, app(ty_Maybe, bbf)) → new_compare32(ywz5000, ywz4000, bbf)
new_esEs19(@0, @0) → True
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_esEs7(ywz5001, ywz4001, hc, hd)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_esEs23(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_ltEs18(ywz5002, ywz4002, app(app(ty_@2, bac), bad)) → new_ltEs10(ywz5002, ywz4002, bac, bad)
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhh), caa)) → new_esEs7(ywz5000, ywz4000, bhh, caa)
new_primCmpNat0(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat0(ywz500000, ywz400000)
new_esEs22(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_esEs4(ywz5000, ywz4000, bed)
new_esEs22(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, app(ty_Maybe, baa)) → new_esEs4(ywz5002, ywz4002, baa)
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_compare27(ywz5000, ywz4000, True, bef, beg) → EQ
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bhf), bhg)) → new_esEs5(ywz5000, ywz4000, bhf, bhg)
new_compare31(ywz5000, ywz4000, app(app(app(ty_@3, bcd), bce), bcf)) → new_compare17(ywz5000, ywz4000, bcd, bce, bcf)
new_ltEs19(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_compare31(ywz5000, ywz4000, ty_Bool) → new_compare6(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_compare12(ywz154, ywz155, True, bbb, bbc) → LT
new_ltEs20(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_ltEs14(False, False) → True
new_esEs16(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_[], df)) → new_esEs12(ywz5000, ywz4000, df)
new_esEs13(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), bff) → new_asAs(new_esEs24(ywz5000, ywz4000, bff), new_esEs23(ywz5001, ywz4001, bff))
new_compare111(ywz5000, ywz4000, True, bfb, bfc, bfd) → LT
new_esEs28(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, ty_@0) → new_esEs19(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_@0) → new_ltEs16(ywz5002, ywz4002)
new_ltEs8(Just(ywz5000), Nothing, bfe) → False
new_ltEs12(ywz500, ywz400) → new_not(new_esEs8(new_compare5(ywz500, ywz400), GT))
new_esEs9(ywz5001, ywz4001, app(ty_[], gf)) → new_esEs12(ywz5001, ywz4001, gf)
new_esEs22(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs28(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs8(LT, EQ) → False
new_esEs8(EQ, LT) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_esEs10(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_esEs7(ywz5000, ywz4000, ga, gb)
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_lt4(ywz5000, ywz4000) → new_esEs8(new_compare6(ywz5000, ywz4000), LT)
new_ltEs18(ywz5002, ywz4002, ty_Integer) → new_ltEs11(ywz5002, ywz4002)
new_primPlusNat0(Zero, Succ(ywz4000000)) → Succ(ywz4000000)
new_primPlusNat0(Succ(ywz24800), Zero) → Succ(ywz24800)
new_esEs5(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcg, bch) → new_asAs(new_esEs22(ywz5000, ywz4000, bcg), new_esEs21(ywz5001, ywz4001, bch))
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(ywz500000), Zero) → GT
new_esEs22(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_compare210(ywz5000, ywz4000, True, bfb, bfc, bfd) → EQ
new_esEs22(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_esEs13(ywz5000, ywz4000, bee)
new_lt6(ywz5001, ywz4001, ty_Float) → new_lt17(ywz5001, ywz4001)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(app(ty_@3, ee), ef), eg)) → new_ltEs17(ywz5000, ywz4000, ee, ef, eg)
new_compare13(ywz5000, ywz4000, True) → LT
new_sr0(Integer(ywz50000), Integer(ywz40010)) → Integer(new_primMulInt(ywz50000, ywz40010))
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_[], cb), ca) → new_esEs12(ywz5000, ywz4000, cb)
new_esEs29(ywz500, ywz400, app(ty_[], bbd)) → new_esEs12(ywz500, ywz400, bbd)
new_ltEs18(ywz5002, ywz4002, app(app(ty_Either, bae), baf)) → new_ltEs4(ywz5002, ywz4002, bae, baf)
new_compare15(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs29(ywz500, ywz400, app(app(ty_@2, bcg), bch)) → new_esEs5(ywz500, ywz400, bcg, bch)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_ltEs20(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_lt6(ywz5001, ywz4001, ty_Double) → new_lt15(ywz5001, ywz4001)
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_esEs20(ywz5000, ywz4000, app(ty_[], bbe)) → new_esEs12(ywz5000, ywz4000, bbe)
new_compare24(Right(ywz500), Left(ywz400), False, h, ba) → GT
new_esEs28(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_esEs7(ywz5000, ywz4000, beh, bfa)
new_compare30(ywz5000, ywz4000, bef, beg) → new_compare27(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bef, beg), bef, beg)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_Maybe, dg)) → new_esEs4(ywz5000, ywz4000, dg)
new_ltEs17(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), eh, fa, fb) → new_pePe(new_lt5(ywz5000, ywz4000, eh), new_asAs(new_esEs10(ywz5000, ywz4000, eh), new_pePe(new_lt6(ywz5001, ywz4001, fa), new_asAs(new_esEs9(ywz5001, ywz4001, fa), new_ltEs18(ywz5002, ywz4002, fb)))))
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, app(ty_[], gf)) → new_lt9(ywz5001, ywz4001, gf)
new_lt5(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_lt16(ywz50, ywz40, h, ba) → new_esEs8(new_compare18(ywz50, ywz40, h, ba), LT)
new_esEs8(EQ, GT) → False
new_esEs8(GT, EQ) → False
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, ty_Integer) → new_lt13(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_esEs5(ywz5001, ywz4001, ha, hb)
new_esEs22(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bdd), bde)) → new_esEs5(ywz5001, ywz4001, bdd, bde)
new_primCompAux0(ywz333, LT) → LT
new_esEs9(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_not(False) → True
new_esEs11(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Left(ywz4000), de, ca) → False
new_ltEs20(ywz500, ywz400, app(app(app(ty_@3, bgf), bgg), bgh)) → new_ltEs17(ywz500, ywz400, bgf, bgg, bgh)
new_compare110(ywz5000, ywz4000, True, bed) → LT
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Double, ca) → new_esEs16(ywz5000, ywz4000)
new_compare210(ywz5000, ywz4000, False, bfb, bfc, bfd) → new_compare111(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000, bfb, bfc, bfd), bfb, bfc, bfd)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, ty_Char) → new_ltEs12(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, ty_Float) → new_esEs18(ywz5002, ywz4002)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_lt16(ywz5000, ywz4000, beh, bfa)
new_esEs9(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs28(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_esEs5(ywz5000, ywz4000, bef, beg)
new_compare0(:(ywz5000, ywz5001), [], bbd) → GT
new_lt6(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_lt19(ywz5001, ywz4001, he, hf, hg)
new_lt7(ywz5000, ywz4000) → new_esEs8(new_compare8(ywz5000, ywz4000), LT)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_Ratio, dh)) → new_ltEs9(ywz5000, ywz4000, dh)
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_compare27(ywz5000, ywz4000, False, bef, beg) → new_compare19(ywz5000, ywz4000, new_ltEs10(ywz5000, ywz4000, bef, beg), bef, beg)
new_esEs30(ywz500, ywz400, app(ty_[], bfg)) → new_esEs12(ywz500, ywz400, bfg)
new_lt6(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_lt10(ywz5001, ywz4001, gg)
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_lt11(ywz5000, ywz4000, ff)
new_primMulInt(Pos(ywz50000), Pos(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_esEs29(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_esEs30(ywz500, ywz400, app(app(ty_@2, bgb), bgc)) → new_esEs5(ywz500, ywz400, bgb, bgc)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs18(ywz5000, ywz4000)
new_ltEs19(ywz500, ywz400, app(ty_Maybe, bfe)) → new_ltEs8(ywz500, ywz400, bfe)
new_primMulInt(Neg(ywz50000), Neg(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_esEs9(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_esEs13(ywz5001, ywz4001, gh)
new_ltEs19(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_esEs29(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(ty_@2, ea), eb)) → new_ltEs10(ywz5000, ywz4000, ea, eb)
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_lt20(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_lt12(ywz5000, ywz4000, bef, beg)
new_primPlusNat0(Zero, Zero) → Zero
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Float, ca) → new_ltEs15(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(ty_[], bda)) → new_esEs12(ywz5001, ywz4001, bda)
new_ltEs6(LT, LT) → True
new_ltEs6(EQ, LT) → False
new_ltEs14(True, True) → True
new_lt20(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_lt10(ywz5000, ywz4000, bed)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_ltEs18(ywz5002, ywz4002, app(app(app(ty_@3, bag), bah), bba)) → new_ltEs17(ywz5002, ywz4002, bag, bah, bba)
new_esEs28(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs4(Nothing, Nothing, bfe) → True
new_ltEs21(ywz5001, ywz4001, app(ty_Ratio, bdc)) → new_ltEs9(ywz5001, ywz4001, bdc)
new_compare111(ywz5000, ywz4000, False, bfb, bfc, bfd) → GT
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhe)) → new_esEs13(ywz5000, ywz4000, bhe)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_esEs6(ywz5000, ywz4000, gc, gd, ge)
new_compare31(ywz5000, ywz4000, app(app(ty_@2, bbh), bca)) → new_compare30(ywz5000, ywz4000, bbh, bca)
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_esEs5(ywz5000, ywz4000, fg, fh)
new_lt5(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_esEs23(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhh), caa)) → new_ltEs4(ywz5000, ywz4000, bhh, caa)
new_esEs10(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_esEs5(ywz5000, ywz4000, fg, fh)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_esEs4(ywz5000, ywz4000, fd)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bdf), bdg)) → new_esEs7(ywz5001, ywz4001, bdf, bdg)
new_primPlusNat1(Succ(ywz2480), ywz400000) → Succ(Succ(new_primPlusNat0(ywz2480, ywz400000)))
new_lt15(ywz5000, ywz4000) → new_esEs8(new_compare15(ywz5000, ywz4000), LT)
new_ltEs21(ywz5001, ywz4001, app(ty_Maybe, bdb)) → new_ltEs8(ywz5001, ywz4001, bdb)
new_lt6(ywz5001, ywz4001, ty_Int) → new_lt7(ywz5001, ywz4001)
new_lt19(ywz5000, ywz4000, bfb, bfc, bfd) → new_esEs8(new_compare17(ywz5000, ywz4000, bfb, bfc, bfd), LT)
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_compare110(ywz5000, ywz4000, False, bed) → GT
new_esEs25(ywz5002, ywz4002, ty_Integer) → new_esEs14(ywz5002, ywz4002)
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bbd) → new_primCompAux1(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, bbd), bbd)
new_compare19(ywz5000, ywz4000, True, bef, beg) → LT
new_ltEs19(ywz500, ywz400, app(ty_[], bbd)) → new_ltEs7(ywz500, ywz400, bbd)
new_compare31(ywz5000, ywz4000, ty_Integer) → new_compare9(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_Ratio, bbg)) → new_compare7(ywz5000, ywz4000, bbg)
new_ltEs5(ywz500, ywz400) → new_not(new_esEs8(new_compare8(ywz500, ywz400), GT))
new_lt6(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_lt16(ywz5001, ywz4001, hc, hd)
new_esEs24(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs9(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_ltEs19(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs21(ywz5001, ywz4001, ty_@0) → new_ltEs16(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bdb)) → new_esEs4(ywz5001, ywz4001, bdb)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, bcb), bcc)) → new_esEs7(ywz5000, ywz4000, bcb, bcc)
new_lt5(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, ty_Integer) → new_ltEs11(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_esEs5(ywz5001, ywz4001, ha, hb)
new_compare29(ywz5000, ywz4000, True, bed) → EQ
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCompAux1(ywz5000, ywz4000, ywz290, bbd) → new_primCompAux0(ywz290, new_compare31(ywz5000, ywz4000, bbd))
new_esEs29(ywz500, ywz400, ty_Bool) → new_esEs17(ywz500, ywz400)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bhd)) → new_ltEs8(ywz5000, ywz4000, bhd)
new_compare18(ywz50, ywz40, h, ba) → new_compare24(ywz50, ywz40, new_esEs7(ywz50, ywz40, h, ba), h, ba)
new_lt5(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Char) → new_compare5(ywz5000, ywz4000)
new_compare9(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_asAs(False, ywz142) → False
new_esEs10(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_esEs6(ywz5000, ywz4000, gc, gd, ge)
new_primMulInt(Neg(ywz50000), Pos(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Pos(ywz50000), Neg(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat2(ywz4000, ywz50000)
new_primMulNat0(Succ(ywz500000), Zero) → Zero
new_primMulNat0(Zero, Succ(ywz400000)) → Zero
new_esEs26(ywz5001, ywz4001, app(ty_[], gf)) → new_esEs12(ywz5001, ywz4001, gf)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_esEs4(ywz5001, ywz4001, gg)
new_esEs29(ywz500, ywz400, ty_Int) → new_esEs11(ywz500, ywz400)
new_ltEs21(ywz5001, ywz4001, ty_Bool) → new_ltEs14(ywz5001, ywz4001)
new_esEs10(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_esEs13(ywz5000, ywz4000, ff)
new_esEs30(ywz500, ywz400, app(ty_Ratio, bga)) → new_esEs13(ywz500, ywz400, bga)
new_lt6(ywz5001, ywz4001, ty_@0) → new_lt18(ywz5001, ywz4001)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Float, ca) → new_esEs18(ywz5000, ywz4000)
new_ltEs18(ywz5002, ywz4002, ty_Bool) → new_ltEs14(ywz5002, ywz4002)
new_compare10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_compare31(ywz5000, ywz4000, app(ty_[], bbe)) → new_compare0(ywz5000, ywz4000, bbe)
new_esEs28(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_ltEs18(ywz5002, ywz4002, ty_Char) → new_ltEs12(ywz5002, ywz4002)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat2(Zero, ywz40000)
new_esEs25(ywz5002, ywz4002, app(app(app(ty_@3, bag), bah), bba)) → new_esEs6(ywz5002, ywz4002, bag, bah, bba)
new_esEs10(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_ltEs6(LT, GT) → True
new_esEs10(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, db), dc), dd), ca) → new_esEs6(ywz5000, ywz4000, db, dc, dd)
new_ltEs21(ywz5001, ywz4001, app(app(ty_@2, bdd), bde)) → new_ltEs10(ywz5001, ywz4001, bdd, bde)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(ty_[], bec)) → new_esEs12(ywz5000, ywz4000, bec)
new_esEs24(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_[], cb), ca) → new_ltEs7(ywz5000, ywz4000, cb)
new_ltEs21(ywz5001, ywz4001, ty_Ordering) → new_ltEs6(ywz5001, ywz4001)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_esEs13(ywz5000, ywz4000, bee)
new_ltEs18(ywz5002, ywz4002, app(ty_Maybe, baa)) → new_ltEs8(ywz5002, ywz4002, baa)
new_ltEs14(True, False) → False
new_esEs25(ywz5002, ywz4002, ty_Char) → new_esEs15(ywz5002, ywz4002)
new_compare11(ywz5000, ywz4000, False) → GT
new_ltEs13(ywz500, ywz400) → new_not(new_esEs8(new_compare15(ywz500, ywz400), GT))
new_lt11(ywz5000, ywz4000, bee) → new_esEs8(new_compare7(ywz5000, ywz4000, bee), LT)
new_lt5(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_lt12(ywz5000, ywz4000, fg, fh)
new_ltEs8(Nothing, Nothing, bfe) → True
new_esEs26(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, app(app(ty_@2, bac), bad)) → new_esEs5(ywz5002, ywz4002, bac, bad)
new_ltEs16(ywz500, ywz400) → new_not(new_esEs8(new_compare28(ywz500, ywz400), GT))
new_compare11(ywz5000, ywz4000, True) → LT
new_ltEs19(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_[], df)) → new_ltEs7(ywz5000, ywz4000, df)
new_esEs9(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_ltEs19(ywz500, ywz400, app(app(app(ty_@3, eh), fa), fb)) → new_ltEs17(ywz500, ywz400, eh, fa, fb)
new_ltEs20(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_esEs29(ywz500, ywz400, app(app(app(ty_@3, eh), fa), fb)) → new_esEs6(ywz500, ywz400, eh, fa, fb)
new_compare14(ywz147, ywz148, True, bha, bhb) → LT
new_esEs29(ywz500, ywz400, app(app(ty_Either, de), ca)) → new_esEs7(ywz500, ywz400, de, ca)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Bool, ca) → new_esEs17(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat1(ywz40000, Zero)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_compare31(ywz5000, ywz4000, ty_Float) → new_compare10(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_primPlusNat0(Succ(ywz24800), Succ(ywz4000000)) → Succ(Succ(new_primPlusNat0(ywz24800, ywz4000000)))
new_esEs9(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_esEs6(ywz5001, ywz4001, he, hf, hg)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_Maybe, dg)) → new_ltEs8(ywz5000, ywz4000, dg)
new_lt5(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_lt10(ywz5000, ywz4000, fd)
new_compare0([], :(ywz4000, ywz4001), bbd) → LT
new_ltEs6(LT, EQ) → True
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bdh), bea), beb)) → new_esEs6(ywz5001, ywz4001, bdh, bea, beb)
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_lt19(ywz5000, ywz4000, bfb, bfc, bfd)
new_ltEs6(GT, LT) → False
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_asAs(True, ywz142) → ywz142
new_esEs28(ywz5000, ywz4000, app(ty_[], bec)) → new_esEs12(ywz5000, ywz4000, bec)
new_esEs27(ywz5000, ywz4000, app(ty_[], fc)) → new_esEs12(ywz5000, ywz4000, fc)
new_esEs25(ywz5002, ywz4002, ty_Int) → new_esEs11(ywz5002, ywz4002)
new_lt12(ywz5000, ywz4000, bef, beg) → new_esEs8(new_compare30(ywz5000, ywz4000, bef, beg), LT)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_@0, ca) → new_esEs19(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Integer, ca) → new_ltEs11(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bhf), bhg)) → new_ltEs10(ywz5000, ywz4000, bhf, bhg)
new_ltEs21(ywz5001, ywz4001, ty_Float) → new_ltEs15(ywz5001, ywz4001)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Char, ca) → new_esEs15(ywz5000, ywz4000)
new_esEs9(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_esEs7(ywz5001, ywz4001, hc, hd)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, ty_Int) → new_esEs11(ywz500, ywz400)
new_esEs26(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, ty_Double) → new_esEs16(ywz500, ywz400)
new_lt5(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, bbd) → new_not(new_esEs8(new_compare0(ywz500, ywz400, bbd), GT))
new_esEs29(ywz500, ywz400, app(ty_Maybe, bfe)) → new_esEs4(ywz500, ywz400, bfe)
new_ltEs20(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_compare32(ywz5000, ywz4000, bed) → new_compare29(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, bed), bed)
new_compare19(ywz5000, ywz4000, False, bef, beg) → GT
new_esEs30(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_esEs28(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, app(app(ty_Either, bae), baf)) → new_esEs7(ywz5002, ywz4002, bae, baf)
new_esEs30(ywz500, ywz400, app(app(app(ty_@3, bgf), bgg), bgh)) → new_esEs6(ywz500, ywz400, bgf, bgg, bgh)
new_lt5(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_lt6(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_lt12(ywz5001, ywz4001, ha, hb)
new_primCompAux0(ywz333, EQ) → ywz333
new_esEs6(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), eh, fa, fb) → new_asAs(new_esEs27(ywz5000, ywz4000, eh), new_asAs(new_esEs26(ywz5001, ywz4001, fa), new_esEs25(ywz5002, ywz4002, fb)))
new_esEs29(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, app(app(ty_@2, bgb), bgc)) → new_ltEs10(ywz500, ywz400, bgb, bgc)
new_ltEs19(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_compare28(@0, @0) → EQ
new_esEs10(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_esEs4(ywz5000, ywz4000, fd)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs10(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_lt18(ywz5000, ywz4000) → new_esEs8(new_compare28(ywz5000, ywz4000), LT)
new_esEs30(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_not(True) → False
new_compare24(Right(ywz500), Right(ywz400), False, h, ba) → new_compare12(ywz500, ywz400, new_ltEs20(ywz500, ywz400, ba), h, ba)

The set Q consists of the following terms:

new_esEs7(Left(x0), Left(x1), ty_Int, x2)
new_esEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs21(x0, x1, ty_Int)
new_compare24(Right(x0), Right(x1), False, x2, x3)
new_esEs18(Float(x0, x1), Float(x2, x3))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs16(x0, x1)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_primCmpNat1(x0, Succ(x1))
new_esEs20(x0, x1, ty_Double)
new_lt6(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Double)
new_compare27(x0, x1, True, x2, x3)
new_esEs30(x0, x1, ty_Double)
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Int)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt9(x0, x1, x2)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_ltEs21(x0, x1, ty_Ordering)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_primCompAux0(x0, EQ)
new_esEs29(x0, x1, ty_Double)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, ty_Bool)
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Bool)
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, ty_Int)
new_esEs22(x0, x1, ty_Ordering)
new_compare15(Double(x0, x1), Double(x2, x3))
new_esEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_lt6(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_primCmpNat0(Succ(x0), Zero)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_lt4(x0, x1)
new_ltEs21(x0, x1, ty_Double)
new_lt10(x0, x1, x2)
new_compare5(Char(x0), Char(x1))
new_esEs29(x0, x1, ty_Ordering)
new_esEs29(x0, x1, ty_Bool)
new_ltEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs14(True, False)
new_ltEs14(False, True)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs30(x0, x1, ty_Ordering)
new_esEs30(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Ordering)
new_lt8(x0, x1)
new_esEs8(GT, GT)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(x0, x1, x2)
new_esEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_lt20(x0, x1, app(ty_[], x2))
new_compare14(x0, x1, True, x2, x3)
new_compare30(x0, x1, x2, x3)
new_esEs26(x0, x1, ty_Int)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_Integer)
new_esEs7(Left(x0), Left(x1), ty_Integer, x2)
new_esEs8(LT, LT)
new_esEs26(x0, x1, ty_Float)
new_primPlusNat1(Zero, x0)
new_ltEs19(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_compare27(x0, x1, False, x2, x3)
new_lt20(x0, x1, ty_Int)
new_primEqNat0(Succ(x0), Succ(x1))
new_compare0(:(x0, x1), [], x2)
new_ltEs19(x0, x1, ty_Float)
new_esEs17(False, False)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Integer)
new_esEs7(Right(x0), Right(x1), x2, ty_Float)
new_esEs27(x0, x1, ty_Float)
new_lt5(x0, x1, ty_Int)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_compare210(x0, x1, True, x2, x3, x4)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Bool)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, ty_Bool)
new_ltEs6(EQ, EQ)
new_pePe(False, x0)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_compare12(x0, x1, False, x2, x3)
new_esEs7(Left(x0), Left(x1), ty_Char, x2)
new_esEs8(LT, GT)
new_esEs8(GT, LT)
new_ltEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_compare9(Integer(x0), Integer(x1))
new_pePe(True, x0)
new_esEs28(x0, x1, ty_Int)
new_esEs7(Left(x0), Left(x1), ty_Float, x2)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs4(Just(x0), Just(x1), ty_@0)
new_esEs4(Just(x0), Just(x1), ty_Int)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs6(LT, EQ)
new_ltEs20(x0, x1, ty_@0)
new_ltEs6(EQ, LT)
new_compare7(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_primEqNat0(Zero, Zero)
new_ltEs19(x0, x1, ty_Double)
new_esEs7(Right(x0), Right(x1), x2, ty_Int)
new_ltEs8(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs19(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Bool)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Char)
new_compare26(x0, x1, True)
new_esEs12(:(x0, x1), [], x2)
new_compare110(x0, x1, False, x2)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs4(Right(x0), Right(x1), x2, ty_Integer)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_ltEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_compare29(x0, x1, False, x2)
new_esEs4(Just(x0), Just(x1), app(ty_Ratio, x2))
new_lt6(x0, x1, app(ty_Maybe, x2))
new_compare28(@0, @0)
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs28(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Char)
new_primMulNat0(Zero, Zero)
new_esEs28(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, ty_@0)
new_ltEs21(x0, x1, ty_Float)
new_esEs9(x0, x1, ty_Integer)
new_ltEs10(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt20(x0, x1, ty_@0)
new_esEs30(x0, x1, ty_Char)
new_primCompAux1(x0, x1, x2, x3)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Double)
new_lt6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs19(x0, x1, ty_Int)
new_compare29(x0, x1, True, x2)
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs22(x0, x1, ty_@0)
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_ltEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs9(x0, x1, ty_Bool)
new_esEs4(Just(x0), Just(x1), ty_Float)
new_lt5(x0, x1, ty_@0)
new_esEs10(x0, x1, ty_Ordering)
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_esEs12([], :(x0, x1), x2)
new_ltEs8(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs7(Left(x0), Left(x1), ty_Double, x2)
new_esEs28(x0, x1, ty_Integer)
new_lt6(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Double)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs8(Nothing, Nothing, x0)
new_esEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs20(x0, x1, ty_@0)
new_esEs25(x0, x1, ty_Int)
new_ltEs20(x0, x1, ty_Int)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, ty_Char)
new_compare24(Left(x0), Right(x1), False, x2, x3)
new_compare24(Right(x0), Left(x1), False, x2, x3)
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs18(x0, x1, ty_Char)
new_esEs21(x0, x1, ty_Integer)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs30(x0, x1, ty_Bool)
new_asAs(False, x0)
new_esEs25(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, ty_Char)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_primMulNat0(Succ(x0), Succ(x1))
new_ltEs4(Right(x0), Right(x1), x2, ty_@0)
new_esEs22(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), ty_Double)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, ty_Ordering)
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_primCmpNat1(x0, Zero)
new_primCmpNat2(Zero, x0)
new_ltEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs11(x0, x1)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_primPlusNat0(Zero, Zero)
new_esEs12(:(x0, x1), :(x2, x3), x4)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Ordering)
new_lt6(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare13(x0, x1, True)
new_compare12(x0, x1, True, x2, x3)
new_lt6(x0, x1, ty_Float)
new_sr(x0, x1)
new_ltEs8(Just(x0), Just(x1), ty_Int)
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_compare14(x0, x1, False, x2, x3)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_esEs30(x0, x1, app(ty_[], x2))
new_compare7(:%(x0, x1), :%(x2, x3), ty_Int)
new_ltEs4(Left(x0), Left(x1), ty_Int, x2)
new_esEs4(Just(x0), Just(x1), ty_Ordering)
new_primMulNat0(Zero, Succ(x0))
new_ltEs18(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_compare8(x0, x1)
new_lt12(x0, x1, x2, x3)
new_esEs29(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Bool)
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs8(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Ordering)
new_esEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs5(x0, x1)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, ty_Double)
new_lt15(x0, x1)
new_ltEs20(x0, x1, ty_Ordering)
new_lt6(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs8(Just(x0), Just(x1), ty_Bool)
new_ltEs4(Left(x0), Left(x1), ty_Integer, x2)
new_primPlusNat0(Succ(x0), Succ(x1))
new_esEs7(Right(x0), Right(x1), x2, ty_Double)
new_lt6(x0, x1, ty_Integer)
new_ltEs8(Just(x0), Just(x1), app(ty_[], x2))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_Bool, x2)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Float)
new_ltEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs4(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_ltEs8(Just(x0), Just(x1), ty_Double)
new_esEs4(Just(x0), Just(x1), app(ty_[], x2))
new_esEs14(Integer(x0), Integer(x1))
new_ltEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs25(x0, x1, ty_Float)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primMulNat0(Succ(x0), Zero)
new_esEs10(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Double)
new_esEs16(Double(x0, x1), Double(x2, x3))
new_compare24(x0, x1, True, x2, x3)
new_compare6(x0, x1)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_compare32(x0, x1, x2)
new_lt5(x0, x1, ty_Bool)
new_lt13(x0, x1)
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCompAux0(x0, LT)
new_lt18(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs8(EQ, EQ)
new_compare13(x0, x1, False)
new_primPlusNat0(Zero, Succ(x0))
new_ltEs8(Just(x0), Just(x1), ty_Ordering)
new_ltEs19(x0, x1, ty_Integer)
new_esEs4(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs10(x0, x1, ty_Float)
new_lt17(x0, x1)
new_esEs4(Nothing, Just(x0), x1)
new_esEs22(x0, x1, ty_Int)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_esEs29(x0, x1, ty_@0)
new_esEs29(x0, x1, app(ty_[], x2))
new_compare19(x0, x1, False, x2, x3)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Char)
new_esEs7(Right(x0), Right(x1), x2, ty_Bool)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_compare24(Left(x0), Left(x1), False, x2, x3)
new_esEs11(x0, x1)
new_lt5(x0, x1, ty_Integer)
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_sr0(Integer(x0), Integer(x1))
new_lt6(x0, x1, ty_Bool)
new_esEs9(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Double)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs12(x0, x1)
new_esEs22(x0, x1, ty_Bool)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, ty_Float)
new_esEs29(x0, x1, ty_Integer)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Integer)
new_ltEs8(Nothing, Just(x0), x1)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs30(x0, x1, ty_@0)
new_esEs4(Nothing, Nothing, x0)
new_ltEs8(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs20(x0, x1, ty_Float)
new_ltEs4(Left(x0), Left(x1), ty_Float, x2)
new_compare18(x0, x1, x2, x3)
new_ltEs6(GT, GT)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, ty_Char)
new_ltEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_primMulInt(Neg(x0), Neg(x1))
new_lt5(x0, x1, app(ty_Maybe, x2))
new_esEs8(GT, EQ)
new_esEs8(EQ, GT)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, app(ty_Ratio, x2))
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_lt6(x0, x1, ty_Double)
new_lt6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_compare17(x0, x1, x2, x3, x4)
new_esEs24(x0, x1, ty_Integer)
new_primCmpNat0(Zero, Zero)
new_esEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_@0)
new_ltEs6(LT, LT)
new_esEs26(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_@0)
new_esEs28(x0, x1, ty_Ordering)
new_ltEs21(x0, x1, app(ty_[], x2))
new_ltEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs18(x0, x1, app(ty_[], x2))
new_compare111(x0, x1, False, x2, x3, x4)
new_esEs25(x0, x1, ty_Integer)
new_lt16(x0, x1, x2, x3)
new_primCmpNat0(Zero, Succ(x0))
new_ltEs9(x0, x1, x2)
new_esEs7(Right(x0), Right(x1), x2, ty_Integer)
new_esEs22(x0, x1, ty_Char)
new_compare31(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Char)
new_ltEs8(Just(x0), Just(x1), ty_@0)
new_primPlusNat0(Succ(x0), Zero)
new_esEs7(Right(x0), Right(x1), x2, ty_Char)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs4(Left(x0), Left(x1), ty_Char, x2)
new_lt19(x0, x1, x2, x3, x4)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs22(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_ltEs8(Just(x0), Just(x1), ty_Integer)
new_ltEs21(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Int)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs4(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_compare210(x0, x1, False, x2, x3, x4)
new_lt14(x0, x1)
new_compare25(x0, x1, True)
new_ltEs14(True, True)
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs14(False, False)
new_lt11(x0, x1, x2)
new_compare111(x0, x1, True, x2, x3, x4)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Double)
new_ltEs4(Right(x0), Right(x1), x2, ty_Int)
new_compare19(x0, x1, True, x2, x3)
new_esEs22(x0, x1, ty_Float)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_compare10(Float(x0, x1), Float(x2, x3))
new_esEs24(x0, x1, ty_Int)
new_not(True)
new_ltEs8(Just(x0), Just(x1), ty_Float)
new_esEs27(x0, x1, ty_Char)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs21(x0, x1, ty_@0)
new_esEs21(x0, x1, ty_@0)
new_esEs7(Right(x0), Right(x1), x2, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_esEs4(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Double)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_not(False)
new_compare31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt6(x0, x1, ty_Char)
new_ltEs4(Left(x0), Right(x1), x2, x3)
new_lt6(x0, x1, app(ty_Ratio, x2))
new_ltEs4(Right(x0), Left(x1), x2, x3)
new_esEs4(Just(x0), Just(x1), ty_Integer)
new_esEs26(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_@0)
new_compare25(x0, x1, False)
new_esEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs6(EQ, GT)
new_ltEs6(GT, EQ)
new_esEs13(:%(x0, x1), :%(x2, x3), x4)
new_compare31(x0, x1, ty_Integer)
new_ltEs18(x0, x1, ty_Double)
new_esEs7(Left(x0), Left(x1), ty_@0, x2)
new_esEs9(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_@0)
new_ltEs8(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs13(x0, x1)
new_ltEs4(Left(x0), Left(x1), ty_Double, x2)
new_ltEs8(Just(x0), Just(x1), ty_Char)
new_esEs15(Char(x0), Char(x1))
new_compare16(x0, x1)
new_ltEs15(x0, x1)
new_esEs9(x0, x1, ty_Float)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_asAs(True, x0)
new_esEs8(EQ, LT)
new_esEs8(LT, EQ)
new_esEs7(Left(x0), Left(x1), ty_Bool, x2)
new_compare0([], [], x0)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_primCompAux0(x0, GT)
new_ltEs18(x0, x1, ty_Ordering)
new_esEs9(x0, x1, ty_Int)
new_lt7(x0, x1)
new_ltEs8(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs20(x0, x1, ty_Bool)
new_esEs20(x0, x1, ty_Float)
new_compare31(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_@0)
new_esEs12([], [], x0)
new_esEs30(x0, x1, ty_Integer)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs17(False, True)
new_esEs17(True, False)
new_esEs30(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Char)
new_esEs7(Right(x0), Left(x1), x2, x3)
new_esEs7(Left(x0), Right(x1), x2, x3)
new_compare31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs17(True, True)
new_esEs23(x0, x1, ty_Int)
new_compare26(x0, x1, False)
new_esEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_primEqNat0(Zero, Succ(x0))
new_lt5(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpNat2(Succ(x0), x1)
new_esEs10(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_Bool)
new_esEs28(x0, x1, ty_@0)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_lt5(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare0([], :(x0, x1), x2)
new_esEs19(@0, @0)
new_compare11(x0, x1, False)
new_esEs20(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_Int)
new_compare110(x0, x1, True, x2)
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_esEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_compare11(x0, x1, True)
new_ltEs4(Right(x0), Right(x1), x2, ty_Char)
new_primPlusNat1(Succ(x0), x1)
new_esEs9(x0, x1, ty_@0)

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 2 SCCs.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ AND
QDP
                                          ↳ UsableRulesProof
                                        ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_splitGT3(Right(ywz400), ywz41, ywz42, ywz43, ywz44, Right(ywz500), h, ba, bb) → new_splitGT22(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Right(ywz500), Right(ywz400), new_esEs30(ywz500, ywz400, ba), h, ba), GT), h, ba, bb)
new_splitGT3(Left(ywz400), ywz41, ywz42, ywz43, ywz44, Right(ywz500), h, ba, bb) → new_splitGT21(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Right(ywz500), Left(ywz400), False, h, ba), GT), h, ba, bb)
new_splitGT21(ywz400, ywz41, ywz42, ywz43, Branch(ywz440, ywz441, ywz442, ywz443, ywz444), ywz500, True, h, ba, bb) → new_splitGT3(ywz440, ywz441, ywz442, ywz443, ywz444, Right(ywz500), h, ba, bb)
new_splitGT21(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba, bb) → new_splitGT11(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_lt16(Right(ywz500), Left(ywz400), h, ba), h, ba, bb)
new_splitGT12(ywz63, ywz64, ywz65, ywz66, ywz67, ywz68, True, bf, bg, bh) → new_splitGT0(ywz66, ywz68, bf, bg, bh)
new_splitGT22(ywz63, ywz64, ywz65, ywz66, ywz67, ywz68, False, bf, bg, bh) → new_splitGT12(ywz63, ywz64, ywz65, ywz66, ywz67, ywz68, new_lt16(Right(ywz68), Right(ywz63), bf, bg), bf, bg, bh)
new_splitGT22(ywz63, ywz64, ywz65, ywz66, ywz67, ywz68, True, bf, bg, bh) → new_splitGT0(ywz67, ywz68, bf, bg, bh)
new_splitGT0(Branch(ywz440, ywz441, ywz442, ywz443, ywz444), ywz500, h, ba, bb) → new_splitGT3(ywz440, ywz441, ywz442, ywz443, ywz444, Right(ywz500), h, ba, bb)
new_splitGT11(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba, bb) → new_splitGT0(ywz43, ywz500, h, ba, bb)

The TRS R consists of the following rules:

new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bhd)) → new_esEs4(ywz5000, ywz4000, bhd)
new_lt14(ywz5000, ywz4000) → new_esEs8(new_compare5(ywz5000, ywz4000), LT)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cg), da), ca) → new_esEs7(ywz5000, ywz4000, cg, da)
new_compare31(ywz5000, ywz4000, ty_Double) → new_compare15(ywz5000, ywz4000)
new_primCmpNat2(Zero, ywz50000) → LT
new_esEs12(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bbd) → new_asAs(new_esEs20(ywz5000, ywz4000, bbd), new_esEs12(ywz5001, ywz4001, bbd))
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_ltEs11(ywz500, ywz400) → new_not(new_esEs8(new_compare9(ywz500, ywz400), GT))
new_ltEs20(ywz500, ywz400, app(ty_Ratio, bga)) → new_ltEs9(ywz500, ywz400, bga)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Maybe, cc), ca) → new_esEs4(ywz5000, ywz4000, cc)
new_ltEs18(ywz5002, ywz4002, ty_Float) → new_ltEs15(ywz5002, ywz4002)
new_esEs4(Nothing, Just(ywz4000), bfe) → False
new_esEs4(Just(ywz5000), Nothing, bfe) → False
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_compare24(Left(ywz500), Left(ywz400), False, h, ba) → new_compare14(ywz500, ywz400, new_ltEs19(ywz500, ywz400, h), h, ba)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_compare26(ywz5000, ywz4000, False) → new_compare13(ywz5000, ywz4000, new_ltEs6(ywz5000, ywz4000))
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_ltEs20(ywz500, ywz400, app(ty_[], bfg)) → new_ltEs7(ywz500, ywz400, bfg)
new_esEs9(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_compare31(ywz5000, ywz4000, ty_Int) → new_compare8(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Ordering) → new_compare16(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_primMulNat0(Zero, Zero) → Zero
new_lt6(ywz5001, ywz4001, ty_Bool) → new_lt4(ywz5001, ywz4001)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cab), cac), cad)) → new_esEs6(ywz5000, ywz4000, cab, cac, cad)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Int, ca) → new_ltEs5(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bbf)) → new_esEs4(ywz5000, ywz4000, bbf)
new_ltEs21(ywz5001, ywz4001, app(app(app(ty_@3, bdh), bea), beb)) → new_ltEs17(ywz5001, ywz4001, bdh, bea, beb)
new_ltEs10(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcg, bch) → new_pePe(new_lt20(ywz5000, ywz4000, bcg), new_asAs(new_esEs28(ywz5000, ywz4000, bcg), new_ltEs21(ywz5001, ywz4001, bch)))
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_ltEs20(ywz500, ywz400, app(ty_Maybe, bfh)) → new_ltEs8(ywz500, ywz400, bfh)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_lt10(ywz5000, ywz4000, bed) → new_esEs8(new_compare32(ywz5000, ywz4000, bed), LT)
new_ltEs14(False, True) → True
new_esEs25(ywz5002, ywz4002, ty_Bool) → new_esEs17(ywz5002, ywz4002)
new_lt8(ywz5000, ywz4000) → new_esEs8(new_compare16(ywz5000, ywz4000), LT)
new_esEs26(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, ty_Double) → new_esEs16(ywz5002, ywz4002)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Double, ca) → new_ltEs13(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, app(app(ty_Either, bgd), bge)) → new_esEs7(ywz500, ywz400, bgd, bge)
new_compare24(Left(ywz500), Right(ywz400), False, h, ba) → LT
new_ltEs9(ywz500, ywz400, bff) → new_not(new_esEs8(new_compare7(ywz500, ywz400, bff), GT))
new_compare5(Char(ywz5000), Char(ywz4000)) → new_primCmpNat0(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, ce), cf), ca) → new_ltEs10(ywz5000, ywz4000, ce, cf)
new_esEs17(True, True) → True
new_esEs18(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs18(ywz5002, ywz4002, app(ty_Ratio, bab)) → new_ltEs9(ywz5002, ywz4002, bab)
new_esEs12([], [], bbd) → True
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bbg)) → new_esEs13(ywz5000, ywz4000, bbg)
new_ltEs15(ywz500, ywz400) → new_not(new_esEs8(new_compare10(ywz500, ywz400), GT))
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Integer, ca) → new_esEs14(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, ty_Int) → new_ltEs5(ywz5001, ywz4001)
new_esEs22(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_esEs5(ywz5000, ywz4000, bef, beg)
new_lt9(ywz5000, ywz4000, bec) → new_esEs8(new_compare0(ywz5000, ywz4000, bec), LT)
new_esEs26(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, cc), ca) → new_ltEs8(ywz5000, ywz4000, cc)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Char, ca) → new_ltEs12(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs29(ywz500, ywz400, ty_Float) → new_esEs18(ywz500, ywz400)
new_esEs26(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_esEs4(ywz5001, ywz4001, gg)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, db), dc), dd), ca) → new_ltEs17(ywz5000, ywz4000, db, dc, dd)
new_ltEs18(ywz5002, ywz4002, app(ty_[], hh)) → new_ltEs7(ywz5002, ywz4002, hh)
new_primCmpNat1(ywz50000, Succ(ywz40000)) → new_primCmpNat0(ywz50000, ywz40000)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_esEs7(ywz5000, ywz4000, beh, bfa)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs9(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_ltEs19(ywz500, ywz400, app(app(ty_Either, de), ca)) → new_ltEs4(ywz500, ywz400, de, ca)
new_pePe(False, ywz225) → ywz225
new_esEs29(ywz500, ywz400, ty_Double) → new_esEs16(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Right(ywz4000), de, ca) → False
new_esEs7(Right(ywz5000), Left(ywz4000), de, ca) → False
new_esEs12(:(ywz5000, ywz5001), [], bbd) → False
new_esEs12([], :(ywz4000, ywz4001), bbd) → False
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, ca) → new_ltEs6(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_primCmpNat1(ywz50000, Zero) → GT
new_esEs28(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_esEs7(ywz5000, ywz4000, ga, gb)
new_esEs26(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_ltEs20(ywz500, ywz400, app(app(ty_Either, bgd), bge)) → new_ltEs4(ywz500, ywz400, bgd, bge)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhe)) → new_ltEs9(ywz5000, ywz4000, bhe)
new_ltEs6(GT, EQ) → False
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(ty_Either, ec), ed)) → new_ltEs4(ywz5000, ywz4000, ec, ed)
new_esEs22(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs29(ywz500, ywz400, app(ty_Ratio, bff)) → new_esEs13(ywz500, ywz400, bff)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, bbh), bca)) → new_esEs5(ywz5000, ywz4000, bbh, bca)
new_esEs14(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Right(ywz4000), de, ca) → True
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(ty_@2, ea), eb)) → new_esEs5(ywz5000, ywz4000, ea, eb)
new_primCmpNat0(Zero, Succ(ywz400000)) → LT
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Bool, ca) → new_ltEs14(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, ty_Char) → new_lt14(ywz5001, ywz4001)
new_ltEs8(Nothing, Just(ywz4000), bfe) → True
new_ltEs19(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_esEs8(LT, LT) → True
new_lt6(ywz5001, ywz4001, ty_Ordering) → new_lt8(ywz5001, ywz4001)
new_esEs30(ywz500, ywz400, ty_Float) → new_esEs18(ywz500, ywz400)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bdc)) → new_esEs13(ywz5001, ywz4001, bdc)
new_esEs28(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_lt19(ywz5000, ywz4000, gc, gd, ge)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Int, ca) → new_esEs11(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, cd), ca) → new_ltEs9(ywz5000, ywz4000, cd)
new_esEs25(ywz5002, ywz4002, ty_Ordering) → new_esEs8(ywz5002, ywz4002)
new_esEs30(ywz500, ywz400, ty_@0) → new_esEs19(ywz500, ywz400)
new_ltEs18(ywz5002, ywz4002, ty_Double) → new_ltEs13(ywz5002, ywz4002)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_@0, ca) → new_ltEs16(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, app(ty_Ratio, bab)) → new_esEs13(ywz5002, ywz4002, bab)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bcd), bce), bcf)) → new_esEs6(ywz5000, ywz4000, bcd, bce, bcf)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_[], bhc)) → new_ltEs7(ywz5000, ywz4000, bhc)
new_pePe(True, ywz225) → True
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare8(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare9(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_compare0([], [], bbd) → EQ
new_compare14(ywz147, ywz148, False, bha, bhb) → GT
new_ltEs21(ywz5001, ywz4001, ty_Double) → new_ltEs13(ywz5001, ywz4001)
new_primEqNat0(Zero, Zero) → True
new_compare31(ywz5000, ywz4000, app(app(ty_Either, bcb), bcc)) → new_compare18(ywz5000, ywz4000, bcb, bcc)
new_compare26(ywz5000, ywz4000, True) → EQ
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(ty_[], fc)) → new_esEs12(ywz5000, ywz4000, fc)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_@2, ce), cf), ca) → new_esEs5(ywz5000, ywz4000, ce, cf)
new_ltEs21(ywz5001, ywz4001, app(ty_[], bda)) → new_ltEs7(ywz5001, ywz4001, bda)
new_primMulNat0(Succ(ywz500000), Succ(ywz400000)) → new_primPlusNat1(new_primMulNat0(ywz500000, Succ(ywz400000)), ywz400000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_[], bhc)) → new_esEs12(ywz5000, ywz4000, bhc)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cab), cac), cad)) → new_ltEs17(ywz5000, ywz4000, cab, cac, cad)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_esEs13(ywz5001, ywz4001, gh)
new_lt20(ywz5000, ywz4000, app(ty_[], bec)) → new_lt9(ywz5000, ywz4000, bec)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_esEs13(ywz5000, ywz4000, ff)
new_esEs29(ywz500, ywz400, ty_@0) → new_esEs19(ywz500, ywz400)
new_esEs17(False, False) → True
new_esEs17(False, True) → False
new_esEs17(True, False) → False
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Ordering, ca) → new_esEs8(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_lt16(ywz5000, ywz4000, ga, gb)
new_esEs15(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_ltEs18(ywz5002, ywz4002, ty_Int) → new_ltEs5(ywz5002, ywz4002)
new_ltEs19(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(app(ty_@3, ee), ef), eg)) → new_esEs6(ywz5000, ywz4000, ee, ef, eg)
new_sr(ywz5000, ywz4000) → new_primMulInt(ywz5000, ywz4000)
new_compare12(ywz154, ywz155, False, bbb, bbc) → GT
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, ty_Bool) → new_esEs17(ywz500, ywz400)
new_lt5(ywz5000, ywz4000, app(ty_[], fc)) → new_lt9(ywz5000, ywz4000, fc)
new_esEs26(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_ltEs6(EQ, GT) → True
new_esEs8(GT, GT) → True
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_ltEs18(ywz5002, ywz4002, ty_Ordering) → new_ltEs6(ywz5002, ywz4002)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat1(ywz50000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(ty_Either, ec), ed)) → new_esEs7(ywz5000, ywz4000, ec, ed)
new_esEs26(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_esEs6(ywz5001, ywz4001, he, hf, hg)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_compare25(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs14(ywz5000, ywz4000))
new_esEs8(LT, GT) → False
new_esEs8(GT, LT) → False
new_lt17(ywz5000, ywz4000) → new_esEs8(new_compare10(ywz5000, ywz4000), LT)
new_compare29(ywz5000, ywz4000, False, bed) → new_compare110(ywz5000, ywz4000, new_ltEs8(ywz5000, ywz4000, bed), bed)
new_compare16(ywz5000, ywz4000) → new_compare26(ywz5000, ywz4000, new_esEs8(ywz5000, ywz4000))
new_esEs25(ywz5002, ywz4002, app(ty_[], hh)) → new_esEs12(ywz5002, ywz4002, hh)
new_compare17(ywz5000, ywz4000, bfb, bfc, bfd) → new_compare210(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd), bfb, bfc, bfd)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_compare25(ywz5000, ywz4000, True) → EQ
new_ltEs20(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_lt11(ywz5000, ywz4000, bee)
new_compare6(ywz5000, ywz4000) → new_compare25(ywz5000, ywz4000, new_esEs17(ywz5000, ywz4000))
new_ltEs19(ywz500, ywz400, app(app(ty_@2, bcg), bch)) → new_ltEs10(ywz500, ywz400, bcg, bch)
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs28(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, app(ty_Maybe, bfh)) → new_esEs4(ywz500, ywz400, bfh)
new_lt5(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_compare13(ywz5000, ywz4000, False) → GT
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs28(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_esEs4(ywz5000, ywz4000, bed)
new_ltEs19(ywz500, ywz400, app(ty_Ratio, bff)) → new_ltEs9(ywz500, ywz400, bff)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_Ratio, dh)) → new_esEs13(ywz5000, ywz4000, dh)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_lt13(ywz5000, ywz4000) → new_esEs8(new_compare9(ywz5000, ywz4000), LT)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Ratio, cd), ca) → new_esEs13(ywz5000, ywz4000, cd)
new_esEs9(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_lt11(ywz5001, ywz4001, gh)
new_ltEs6(EQ, EQ) → True
new_ltEs20(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_primCmpNat2(Succ(ywz40000), ywz50000) → new_primCmpNat0(ywz40000, ywz50000)
new_compare8(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cg), da), ca) → new_ltEs4(ywz5000, ywz4000, cg, da)
new_ltEs19(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_primCompAux0(ywz333, GT) → GT
new_esEs8(EQ, EQ) → True
new_primPlusNat1(Zero, ywz400000) → Succ(ywz400000)
new_ltEs6(GT, GT) → True
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_compare24(ywz50, ywz40, True, h, ba) → EQ
new_compare31(ywz5000, ywz4000, ty_@0) → new_compare28(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, app(app(ty_Either, bdf), bdg)) → new_ltEs4(ywz5001, ywz4001, bdf, bdg)
new_compare31(ywz5000, ywz4000, app(ty_Maybe, bbf)) → new_compare32(ywz5000, ywz4000, bbf)
new_esEs19(@0, @0) → True
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_esEs7(ywz5001, ywz4001, hc, hd)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_esEs23(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_ltEs18(ywz5002, ywz4002, app(app(ty_@2, bac), bad)) → new_ltEs10(ywz5002, ywz4002, bac, bad)
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhh), caa)) → new_esEs7(ywz5000, ywz4000, bhh, caa)
new_primCmpNat0(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat0(ywz500000, ywz400000)
new_esEs22(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_esEs4(ywz5000, ywz4000, bed)
new_esEs22(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, app(ty_Maybe, baa)) → new_esEs4(ywz5002, ywz4002, baa)
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_compare27(ywz5000, ywz4000, True, bef, beg) → EQ
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bhf), bhg)) → new_esEs5(ywz5000, ywz4000, bhf, bhg)
new_compare31(ywz5000, ywz4000, app(app(app(ty_@3, bcd), bce), bcf)) → new_compare17(ywz5000, ywz4000, bcd, bce, bcf)
new_ltEs19(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_compare31(ywz5000, ywz4000, ty_Bool) → new_compare6(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_compare12(ywz154, ywz155, True, bbb, bbc) → LT
new_ltEs20(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_ltEs14(False, False) → True
new_esEs16(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_[], df)) → new_esEs12(ywz5000, ywz4000, df)
new_esEs13(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), bff) → new_asAs(new_esEs24(ywz5000, ywz4000, bff), new_esEs23(ywz5001, ywz4001, bff))
new_compare111(ywz5000, ywz4000, True, bfb, bfc, bfd) → LT
new_esEs28(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, ty_@0) → new_esEs19(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_@0) → new_ltEs16(ywz5002, ywz4002)
new_ltEs8(Just(ywz5000), Nothing, bfe) → False
new_ltEs12(ywz500, ywz400) → new_not(new_esEs8(new_compare5(ywz500, ywz400), GT))
new_esEs9(ywz5001, ywz4001, app(ty_[], gf)) → new_esEs12(ywz5001, ywz4001, gf)
new_esEs22(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs28(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs8(LT, EQ) → False
new_esEs8(EQ, LT) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_esEs10(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_esEs7(ywz5000, ywz4000, ga, gb)
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_lt4(ywz5000, ywz4000) → new_esEs8(new_compare6(ywz5000, ywz4000), LT)
new_ltEs18(ywz5002, ywz4002, ty_Integer) → new_ltEs11(ywz5002, ywz4002)
new_primPlusNat0(Zero, Succ(ywz4000000)) → Succ(ywz4000000)
new_primPlusNat0(Succ(ywz24800), Zero) → Succ(ywz24800)
new_esEs5(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcg, bch) → new_asAs(new_esEs22(ywz5000, ywz4000, bcg), new_esEs21(ywz5001, ywz4001, bch))
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(ywz500000), Zero) → GT
new_esEs22(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_compare210(ywz5000, ywz4000, True, bfb, bfc, bfd) → EQ
new_esEs22(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_esEs13(ywz5000, ywz4000, bee)
new_lt6(ywz5001, ywz4001, ty_Float) → new_lt17(ywz5001, ywz4001)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(app(ty_@3, ee), ef), eg)) → new_ltEs17(ywz5000, ywz4000, ee, ef, eg)
new_compare13(ywz5000, ywz4000, True) → LT
new_sr0(Integer(ywz50000), Integer(ywz40010)) → Integer(new_primMulInt(ywz50000, ywz40010))
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_[], cb), ca) → new_esEs12(ywz5000, ywz4000, cb)
new_esEs29(ywz500, ywz400, app(ty_[], bbd)) → new_esEs12(ywz500, ywz400, bbd)
new_ltEs18(ywz5002, ywz4002, app(app(ty_Either, bae), baf)) → new_ltEs4(ywz5002, ywz4002, bae, baf)
new_compare15(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs29(ywz500, ywz400, app(app(ty_@2, bcg), bch)) → new_esEs5(ywz500, ywz400, bcg, bch)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_ltEs20(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_lt6(ywz5001, ywz4001, ty_Double) → new_lt15(ywz5001, ywz4001)
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_esEs20(ywz5000, ywz4000, app(ty_[], bbe)) → new_esEs12(ywz5000, ywz4000, bbe)
new_compare24(Right(ywz500), Left(ywz400), False, h, ba) → GT
new_esEs28(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_esEs7(ywz5000, ywz4000, beh, bfa)
new_compare30(ywz5000, ywz4000, bef, beg) → new_compare27(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bef, beg), bef, beg)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_Maybe, dg)) → new_esEs4(ywz5000, ywz4000, dg)
new_ltEs17(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), eh, fa, fb) → new_pePe(new_lt5(ywz5000, ywz4000, eh), new_asAs(new_esEs10(ywz5000, ywz4000, eh), new_pePe(new_lt6(ywz5001, ywz4001, fa), new_asAs(new_esEs9(ywz5001, ywz4001, fa), new_ltEs18(ywz5002, ywz4002, fb)))))
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, app(ty_[], gf)) → new_lt9(ywz5001, ywz4001, gf)
new_lt5(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_lt16(ywz50, ywz40, h, ba) → new_esEs8(new_compare18(ywz50, ywz40, h, ba), LT)
new_esEs8(EQ, GT) → False
new_esEs8(GT, EQ) → False
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, ty_Integer) → new_lt13(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_esEs5(ywz5001, ywz4001, ha, hb)
new_esEs22(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bdd), bde)) → new_esEs5(ywz5001, ywz4001, bdd, bde)
new_primCompAux0(ywz333, LT) → LT
new_esEs9(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_not(False) → True
new_esEs11(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Left(ywz4000), de, ca) → False
new_ltEs20(ywz500, ywz400, app(app(app(ty_@3, bgf), bgg), bgh)) → new_ltEs17(ywz500, ywz400, bgf, bgg, bgh)
new_compare110(ywz5000, ywz4000, True, bed) → LT
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Double, ca) → new_esEs16(ywz5000, ywz4000)
new_compare210(ywz5000, ywz4000, False, bfb, bfc, bfd) → new_compare111(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000, bfb, bfc, bfd), bfb, bfc, bfd)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, ty_Char) → new_ltEs12(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, ty_Float) → new_esEs18(ywz5002, ywz4002)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_lt16(ywz5000, ywz4000, beh, bfa)
new_esEs9(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs28(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_esEs5(ywz5000, ywz4000, bef, beg)
new_compare0(:(ywz5000, ywz5001), [], bbd) → GT
new_lt6(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_lt19(ywz5001, ywz4001, he, hf, hg)
new_lt7(ywz5000, ywz4000) → new_esEs8(new_compare8(ywz5000, ywz4000), LT)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_Ratio, dh)) → new_ltEs9(ywz5000, ywz4000, dh)
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_compare27(ywz5000, ywz4000, False, bef, beg) → new_compare19(ywz5000, ywz4000, new_ltEs10(ywz5000, ywz4000, bef, beg), bef, beg)
new_esEs30(ywz500, ywz400, app(ty_[], bfg)) → new_esEs12(ywz500, ywz400, bfg)
new_lt6(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_lt10(ywz5001, ywz4001, gg)
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_lt11(ywz5000, ywz4000, ff)
new_primMulInt(Pos(ywz50000), Pos(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_esEs29(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_esEs30(ywz500, ywz400, app(app(ty_@2, bgb), bgc)) → new_esEs5(ywz500, ywz400, bgb, bgc)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs18(ywz5000, ywz4000)
new_ltEs19(ywz500, ywz400, app(ty_Maybe, bfe)) → new_ltEs8(ywz500, ywz400, bfe)
new_primMulInt(Neg(ywz50000), Neg(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_esEs9(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_esEs13(ywz5001, ywz4001, gh)
new_ltEs19(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_esEs29(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(ty_@2, ea), eb)) → new_ltEs10(ywz5000, ywz4000, ea, eb)
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_lt20(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_lt12(ywz5000, ywz4000, bef, beg)
new_primPlusNat0(Zero, Zero) → Zero
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Float, ca) → new_ltEs15(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(ty_[], bda)) → new_esEs12(ywz5001, ywz4001, bda)
new_ltEs6(LT, LT) → True
new_ltEs6(EQ, LT) → False
new_ltEs14(True, True) → True
new_lt20(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_lt10(ywz5000, ywz4000, bed)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_ltEs18(ywz5002, ywz4002, app(app(app(ty_@3, bag), bah), bba)) → new_ltEs17(ywz5002, ywz4002, bag, bah, bba)
new_esEs28(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs4(Nothing, Nothing, bfe) → True
new_ltEs21(ywz5001, ywz4001, app(ty_Ratio, bdc)) → new_ltEs9(ywz5001, ywz4001, bdc)
new_compare111(ywz5000, ywz4000, False, bfb, bfc, bfd) → GT
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhe)) → new_esEs13(ywz5000, ywz4000, bhe)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_esEs6(ywz5000, ywz4000, gc, gd, ge)
new_compare31(ywz5000, ywz4000, app(app(ty_@2, bbh), bca)) → new_compare30(ywz5000, ywz4000, bbh, bca)
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_esEs5(ywz5000, ywz4000, fg, fh)
new_lt5(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_esEs23(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhh), caa)) → new_ltEs4(ywz5000, ywz4000, bhh, caa)
new_esEs10(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_esEs5(ywz5000, ywz4000, fg, fh)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_esEs4(ywz5000, ywz4000, fd)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bdf), bdg)) → new_esEs7(ywz5001, ywz4001, bdf, bdg)
new_primPlusNat1(Succ(ywz2480), ywz400000) → Succ(Succ(new_primPlusNat0(ywz2480, ywz400000)))
new_lt15(ywz5000, ywz4000) → new_esEs8(new_compare15(ywz5000, ywz4000), LT)
new_ltEs21(ywz5001, ywz4001, app(ty_Maybe, bdb)) → new_ltEs8(ywz5001, ywz4001, bdb)
new_lt6(ywz5001, ywz4001, ty_Int) → new_lt7(ywz5001, ywz4001)
new_lt19(ywz5000, ywz4000, bfb, bfc, bfd) → new_esEs8(new_compare17(ywz5000, ywz4000, bfb, bfc, bfd), LT)
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_compare110(ywz5000, ywz4000, False, bed) → GT
new_esEs25(ywz5002, ywz4002, ty_Integer) → new_esEs14(ywz5002, ywz4002)
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bbd) → new_primCompAux1(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, bbd), bbd)
new_compare19(ywz5000, ywz4000, True, bef, beg) → LT
new_ltEs19(ywz500, ywz400, app(ty_[], bbd)) → new_ltEs7(ywz500, ywz400, bbd)
new_compare31(ywz5000, ywz4000, ty_Integer) → new_compare9(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_Ratio, bbg)) → new_compare7(ywz5000, ywz4000, bbg)
new_ltEs5(ywz500, ywz400) → new_not(new_esEs8(new_compare8(ywz500, ywz400), GT))
new_lt6(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_lt16(ywz5001, ywz4001, hc, hd)
new_esEs24(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs9(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_ltEs19(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs21(ywz5001, ywz4001, ty_@0) → new_ltEs16(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bdb)) → new_esEs4(ywz5001, ywz4001, bdb)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, bcb), bcc)) → new_esEs7(ywz5000, ywz4000, bcb, bcc)
new_lt5(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, ty_Integer) → new_ltEs11(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_esEs5(ywz5001, ywz4001, ha, hb)
new_compare29(ywz5000, ywz4000, True, bed) → EQ
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCompAux1(ywz5000, ywz4000, ywz290, bbd) → new_primCompAux0(ywz290, new_compare31(ywz5000, ywz4000, bbd))
new_esEs29(ywz500, ywz400, ty_Bool) → new_esEs17(ywz500, ywz400)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bhd)) → new_ltEs8(ywz5000, ywz4000, bhd)
new_compare18(ywz50, ywz40, h, ba) → new_compare24(ywz50, ywz40, new_esEs7(ywz50, ywz40, h, ba), h, ba)
new_lt5(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Char) → new_compare5(ywz5000, ywz4000)
new_compare9(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_asAs(False, ywz142) → False
new_esEs10(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_esEs6(ywz5000, ywz4000, gc, gd, ge)
new_primMulInt(Neg(ywz50000), Pos(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Pos(ywz50000), Neg(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat2(ywz4000, ywz50000)
new_primMulNat0(Succ(ywz500000), Zero) → Zero
new_primMulNat0(Zero, Succ(ywz400000)) → Zero
new_esEs26(ywz5001, ywz4001, app(ty_[], gf)) → new_esEs12(ywz5001, ywz4001, gf)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_esEs4(ywz5001, ywz4001, gg)
new_esEs29(ywz500, ywz400, ty_Int) → new_esEs11(ywz500, ywz400)
new_ltEs21(ywz5001, ywz4001, ty_Bool) → new_ltEs14(ywz5001, ywz4001)
new_esEs10(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_esEs13(ywz5000, ywz4000, ff)
new_esEs30(ywz500, ywz400, app(ty_Ratio, bga)) → new_esEs13(ywz500, ywz400, bga)
new_lt6(ywz5001, ywz4001, ty_@0) → new_lt18(ywz5001, ywz4001)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Float, ca) → new_esEs18(ywz5000, ywz4000)
new_ltEs18(ywz5002, ywz4002, ty_Bool) → new_ltEs14(ywz5002, ywz4002)
new_compare10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_compare31(ywz5000, ywz4000, app(ty_[], bbe)) → new_compare0(ywz5000, ywz4000, bbe)
new_esEs28(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_ltEs18(ywz5002, ywz4002, ty_Char) → new_ltEs12(ywz5002, ywz4002)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat2(Zero, ywz40000)
new_esEs25(ywz5002, ywz4002, app(app(app(ty_@3, bag), bah), bba)) → new_esEs6(ywz5002, ywz4002, bag, bah, bba)
new_esEs10(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_ltEs6(LT, GT) → True
new_esEs10(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, db), dc), dd), ca) → new_esEs6(ywz5000, ywz4000, db, dc, dd)
new_ltEs21(ywz5001, ywz4001, app(app(ty_@2, bdd), bde)) → new_ltEs10(ywz5001, ywz4001, bdd, bde)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(ty_[], bec)) → new_esEs12(ywz5000, ywz4000, bec)
new_esEs24(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_[], cb), ca) → new_ltEs7(ywz5000, ywz4000, cb)
new_ltEs21(ywz5001, ywz4001, ty_Ordering) → new_ltEs6(ywz5001, ywz4001)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_esEs13(ywz5000, ywz4000, bee)
new_ltEs18(ywz5002, ywz4002, app(ty_Maybe, baa)) → new_ltEs8(ywz5002, ywz4002, baa)
new_ltEs14(True, False) → False
new_esEs25(ywz5002, ywz4002, ty_Char) → new_esEs15(ywz5002, ywz4002)
new_compare11(ywz5000, ywz4000, False) → GT
new_ltEs13(ywz500, ywz400) → new_not(new_esEs8(new_compare15(ywz500, ywz400), GT))
new_lt11(ywz5000, ywz4000, bee) → new_esEs8(new_compare7(ywz5000, ywz4000, bee), LT)
new_lt5(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_lt12(ywz5000, ywz4000, fg, fh)
new_ltEs8(Nothing, Nothing, bfe) → True
new_esEs26(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, app(app(ty_@2, bac), bad)) → new_esEs5(ywz5002, ywz4002, bac, bad)
new_ltEs16(ywz500, ywz400) → new_not(new_esEs8(new_compare28(ywz500, ywz400), GT))
new_compare11(ywz5000, ywz4000, True) → LT
new_ltEs19(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_[], df)) → new_ltEs7(ywz5000, ywz4000, df)
new_esEs9(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_ltEs19(ywz500, ywz400, app(app(app(ty_@3, eh), fa), fb)) → new_ltEs17(ywz500, ywz400, eh, fa, fb)
new_ltEs20(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_esEs29(ywz500, ywz400, app(app(app(ty_@3, eh), fa), fb)) → new_esEs6(ywz500, ywz400, eh, fa, fb)
new_compare14(ywz147, ywz148, True, bha, bhb) → LT
new_esEs29(ywz500, ywz400, app(app(ty_Either, de), ca)) → new_esEs7(ywz500, ywz400, de, ca)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Bool, ca) → new_esEs17(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat1(ywz40000, Zero)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_compare31(ywz5000, ywz4000, ty_Float) → new_compare10(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_primPlusNat0(Succ(ywz24800), Succ(ywz4000000)) → Succ(Succ(new_primPlusNat0(ywz24800, ywz4000000)))
new_esEs9(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_esEs6(ywz5001, ywz4001, he, hf, hg)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_Maybe, dg)) → new_ltEs8(ywz5000, ywz4000, dg)
new_lt5(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_lt10(ywz5000, ywz4000, fd)
new_compare0([], :(ywz4000, ywz4001), bbd) → LT
new_ltEs6(LT, EQ) → True
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bdh), bea), beb)) → new_esEs6(ywz5001, ywz4001, bdh, bea, beb)
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_lt19(ywz5000, ywz4000, bfb, bfc, bfd)
new_ltEs6(GT, LT) → False
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_asAs(True, ywz142) → ywz142
new_esEs28(ywz5000, ywz4000, app(ty_[], bec)) → new_esEs12(ywz5000, ywz4000, bec)
new_esEs27(ywz5000, ywz4000, app(ty_[], fc)) → new_esEs12(ywz5000, ywz4000, fc)
new_esEs25(ywz5002, ywz4002, ty_Int) → new_esEs11(ywz5002, ywz4002)
new_lt12(ywz5000, ywz4000, bef, beg) → new_esEs8(new_compare30(ywz5000, ywz4000, bef, beg), LT)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_@0, ca) → new_esEs19(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Integer, ca) → new_ltEs11(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bhf), bhg)) → new_ltEs10(ywz5000, ywz4000, bhf, bhg)
new_ltEs21(ywz5001, ywz4001, ty_Float) → new_ltEs15(ywz5001, ywz4001)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Char, ca) → new_esEs15(ywz5000, ywz4000)
new_esEs9(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_esEs7(ywz5001, ywz4001, hc, hd)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, ty_Int) → new_esEs11(ywz500, ywz400)
new_esEs26(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, ty_Double) → new_esEs16(ywz500, ywz400)
new_lt5(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, bbd) → new_not(new_esEs8(new_compare0(ywz500, ywz400, bbd), GT))
new_esEs29(ywz500, ywz400, app(ty_Maybe, bfe)) → new_esEs4(ywz500, ywz400, bfe)
new_ltEs20(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_compare32(ywz5000, ywz4000, bed) → new_compare29(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, bed), bed)
new_compare19(ywz5000, ywz4000, False, bef, beg) → GT
new_esEs30(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_esEs28(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, app(app(ty_Either, bae), baf)) → new_esEs7(ywz5002, ywz4002, bae, baf)
new_esEs30(ywz500, ywz400, app(app(app(ty_@3, bgf), bgg), bgh)) → new_esEs6(ywz500, ywz400, bgf, bgg, bgh)
new_lt5(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_lt6(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_lt12(ywz5001, ywz4001, ha, hb)
new_primCompAux0(ywz333, EQ) → ywz333
new_esEs6(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), eh, fa, fb) → new_asAs(new_esEs27(ywz5000, ywz4000, eh), new_asAs(new_esEs26(ywz5001, ywz4001, fa), new_esEs25(ywz5002, ywz4002, fb)))
new_esEs29(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, app(app(ty_@2, bgb), bgc)) → new_ltEs10(ywz500, ywz400, bgb, bgc)
new_ltEs19(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_compare28(@0, @0) → EQ
new_esEs10(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_esEs4(ywz5000, ywz4000, fd)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs10(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_lt18(ywz5000, ywz4000) → new_esEs8(new_compare28(ywz5000, ywz4000), LT)
new_esEs30(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_not(True) → False
new_compare24(Right(ywz500), Right(ywz400), False, h, ba) → new_compare12(ywz500, ywz400, new_ltEs20(ywz500, ywz400, ba), h, ba)

The set Q consists of the following terms:

new_esEs7(Left(x0), Left(x1), ty_Int, x2)
new_esEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs21(x0, x1, ty_Int)
new_compare24(Right(x0), Right(x1), False, x2, x3)
new_esEs18(Float(x0, x1), Float(x2, x3))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs16(x0, x1)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_primCmpNat1(x0, Succ(x1))
new_esEs20(x0, x1, ty_Double)
new_lt6(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Double)
new_compare27(x0, x1, True, x2, x3)
new_esEs30(x0, x1, ty_Double)
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Int)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt9(x0, x1, x2)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_ltEs21(x0, x1, ty_Ordering)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_primCompAux0(x0, EQ)
new_esEs29(x0, x1, ty_Double)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, ty_Bool)
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Bool)
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, ty_Int)
new_esEs22(x0, x1, ty_Ordering)
new_compare15(Double(x0, x1), Double(x2, x3))
new_esEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_lt6(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_primCmpNat0(Succ(x0), Zero)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_lt4(x0, x1)
new_ltEs21(x0, x1, ty_Double)
new_lt10(x0, x1, x2)
new_compare5(Char(x0), Char(x1))
new_esEs29(x0, x1, ty_Ordering)
new_esEs29(x0, x1, ty_Bool)
new_ltEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs14(True, False)
new_ltEs14(False, True)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs30(x0, x1, ty_Ordering)
new_esEs30(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Ordering)
new_lt8(x0, x1)
new_esEs8(GT, GT)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(x0, x1, x2)
new_esEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_lt20(x0, x1, app(ty_[], x2))
new_compare14(x0, x1, True, x2, x3)
new_compare30(x0, x1, x2, x3)
new_esEs26(x0, x1, ty_Int)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_Integer)
new_esEs7(Left(x0), Left(x1), ty_Integer, x2)
new_esEs8(LT, LT)
new_esEs26(x0, x1, ty_Float)
new_primPlusNat1(Zero, x0)
new_ltEs19(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_compare27(x0, x1, False, x2, x3)
new_lt20(x0, x1, ty_Int)
new_primEqNat0(Succ(x0), Succ(x1))
new_compare0(:(x0, x1), [], x2)
new_ltEs19(x0, x1, ty_Float)
new_esEs17(False, False)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Integer)
new_esEs7(Right(x0), Right(x1), x2, ty_Float)
new_esEs27(x0, x1, ty_Float)
new_lt5(x0, x1, ty_Int)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_compare210(x0, x1, True, x2, x3, x4)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Bool)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, ty_Bool)
new_ltEs6(EQ, EQ)
new_pePe(False, x0)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_compare12(x0, x1, False, x2, x3)
new_esEs7(Left(x0), Left(x1), ty_Char, x2)
new_esEs8(LT, GT)
new_esEs8(GT, LT)
new_ltEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_compare9(Integer(x0), Integer(x1))
new_pePe(True, x0)
new_esEs28(x0, x1, ty_Int)
new_esEs7(Left(x0), Left(x1), ty_Float, x2)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs4(Just(x0), Just(x1), ty_@0)
new_esEs4(Just(x0), Just(x1), ty_Int)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs6(LT, EQ)
new_ltEs20(x0, x1, ty_@0)
new_ltEs6(EQ, LT)
new_compare7(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_primEqNat0(Zero, Zero)
new_ltEs19(x0, x1, ty_Double)
new_esEs7(Right(x0), Right(x1), x2, ty_Int)
new_ltEs8(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs19(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Bool)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Char)
new_compare26(x0, x1, True)
new_esEs12(:(x0, x1), [], x2)
new_compare110(x0, x1, False, x2)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs4(Right(x0), Right(x1), x2, ty_Integer)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_ltEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_compare29(x0, x1, False, x2)
new_esEs4(Just(x0), Just(x1), app(ty_Ratio, x2))
new_lt6(x0, x1, app(ty_Maybe, x2))
new_compare28(@0, @0)
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs28(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Char)
new_primMulNat0(Zero, Zero)
new_esEs28(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, ty_@0)
new_ltEs21(x0, x1, ty_Float)
new_esEs9(x0, x1, ty_Integer)
new_ltEs10(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt20(x0, x1, ty_@0)
new_esEs30(x0, x1, ty_Char)
new_primCompAux1(x0, x1, x2, x3)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Double)
new_lt6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs19(x0, x1, ty_Int)
new_compare29(x0, x1, True, x2)
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs22(x0, x1, ty_@0)
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_ltEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs9(x0, x1, ty_Bool)
new_esEs4(Just(x0), Just(x1), ty_Float)
new_lt5(x0, x1, ty_@0)
new_esEs10(x0, x1, ty_Ordering)
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_esEs12([], :(x0, x1), x2)
new_ltEs8(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs7(Left(x0), Left(x1), ty_Double, x2)
new_esEs28(x0, x1, ty_Integer)
new_lt6(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Double)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs8(Nothing, Nothing, x0)
new_esEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs20(x0, x1, ty_@0)
new_esEs25(x0, x1, ty_Int)
new_ltEs20(x0, x1, ty_Int)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, ty_Char)
new_compare24(Left(x0), Right(x1), False, x2, x3)
new_compare24(Right(x0), Left(x1), False, x2, x3)
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs18(x0, x1, ty_Char)
new_esEs21(x0, x1, ty_Integer)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs30(x0, x1, ty_Bool)
new_asAs(False, x0)
new_esEs25(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, ty_Char)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_primMulNat0(Succ(x0), Succ(x1))
new_ltEs4(Right(x0), Right(x1), x2, ty_@0)
new_esEs22(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), ty_Double)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, ty_Ordering)
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_primCmpNat1(x0, Zero)
new_primCmpNat2(Zero, x0)
new_ltEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs11(x0, x1)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_primPlusNat0(Zero, Zero)
new_esEs12(:(x0, x1), :(x2, x3), x4)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Ordering)
new_lt6(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare13(x0, x1, True)
new_compare12(x0, x1, True, x2, x3)
new_lt6(x0, x1, ty_Float)
new_sr(x0, x1)
new_ltEs8(Just(x0), Just(x1), ty_Int)
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_compare14(x0, x1, False, x2, x3)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_esEs30(x0, x1, app(ty_[], x2))
new_compare7(:%(x0, x1), :%(x2, x3), ty_Int)
new_ltEs4(Left(x0), Left(x1), ty_Int, x2)
new_esEs4(Just(x0), Just(x1), ty_Ordering)
new_primMulNat0(Zero, Succ(x0))
new_ltEs18(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_compare8(x0, x1)
new_lt12(x0, x1, x2, x3)
new_esEs29(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Bool)
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs8(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Ordering)
new_esEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs5(x0, x1)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, ty_Double)
new_lt15(x0, x1)
new_ltEs20(x0, x1, ty_Ordering)
new_lt6(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs8(Just(x0), Just(x1), ty_Bool)
new_ltEs4(Left(x0), Left(x1), ty_Integer, x2)
new_primPlusNat0(Succ(x0), Succ(x1))
new_esEs7(Right(x0), Right(x1), x2, ty_Double)
new_lt6(x0, x1, ty_Integer)
new_ltEs8(Just(x0), Just(x1), app(ty_[], x2))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_Bool, x2)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Float)
new_ltEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs4(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_ltEs8(Just(x0), Just(x1), ty_Double)
new_esEs4(Just(x0), Just(x1), app(ty_[], x2))
new_esEs14(Integer(x0), Integer(x1))
new_ltEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs25(x0, x1, ty_Float)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primMulNat0(Succ(x0), Zero)
new_esEs10(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Double)
new_esEs16(Double(x0, x1), Double(x2, x3))
new_compare24(x0, x1, True, x2, x3)
new_compare6(x0, x1)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_compare32(x0, x1, x2)
new_lt5(x0, x1, ty_Bool)
new_lt13(x0, x1)
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCompAux0(x0, LT)
new_lt18(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs8(EQ, EQ)
new_compare13(x0, x1, False)
new_primPlusNat0(Zero, Succ(x0))
new_ltEs8(Just(x0), Just(x1), ty_Ordering)
new_ltEs19(x0, x1, ty_Integer)
new_esEs4(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs10(x0, x1, ty_Float)
new_lt17(x0, x1)
new_esEs4(Nothing, Just(x0), x1)
new_esEs22(x0, x1, ty_Int)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_esEs29(x0, x1, ty_@0)
new_esEs29(x0, x1, app(ty_[], x2))
new_compare19(x0, x1, False, x2, x3)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Char)
new_esEs7(Right(x0), Right(x1), x2, ty_Bool)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_compare24(Left(x0), Left(x1), False, x2, x3)
new_esEs11(x0, x1)
new_lt5(x0, x1, ty_Integer)
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_sr0(Integer(x0), Integer(x1))
new_lt6(x0, x1, ty_Bool)
new_esEs9(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Double)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs12(x0, x1)
new_esEs22(x0, x1, ty_Bool)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, ty_Float)
new_esEs29(x0, x1, ty_Integer)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Integer)
new_ltEs8(Nothing, Just(x0), x1)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs30(x0, x1, ty_@0)
new_esEs4(Nothing, Nothing, x0)
new_ltEs8(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs20(x0, x1, ty_Float)
new_ltEs4(Left(x0), Left(x1), ty_Float, x2)
new_compare18(x0, x1, x2, x3)
new_ltEs6(GT, GT)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, ty_Char)
new_ltEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_primMulInt(Neg(x0), Neg(x1))
new_lt5(x0, x1, app(ty_Maybe, x2))
new_esEs8(GT, EQ)
new_esEs8(EQ, GT)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, app(ty_Ratio, x2))
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_lt6(x0, x1, ty_Double)
new_lt6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_compare17(x0, x1, x2, x3, x4)
new_esEs24(x0, x1, ty_Integer)
new_primCmpNat0(Zero, Zero)
new_esEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_@0)
new_ltEs6(LT, LT)
new_esEs26(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_@0)
new_esEs28(x0, x1, ty_Ordering)
new_ltEs21(x0, x1, app(ty_[], x2))
new_ltEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs18(x0, x1, app(ty_[], x2))
new_compare111(x0, x1, False, x2, x3, x4)
new_esEs25(x0, x1, ty_Integer)
new_lt16(x0, x1, x2, x3)
new_primCmpNat0(Zero, Succ(x0))
new_ltEs9(x0, x1, x2)
new_esEs7(Right(x0), Right(x1), x2, ty_Integer)
new_esEs22(x0, x1, ty_Char)
new_compare31(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Char)
new_ltEs8(Just(x0), Just(x1), ty_@0)
new_primPlusNat0(Succ(x0), Zero)
new_esEs7(Right(x0), Right(x1), x2, ty_Char)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs4(Left(x0), Left(x1), ty_Char, x2)
new_lt19(x0, x1, x2, x3, x4)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs22(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_ltEs8(Just(x0), Just(x1), ty_Integer)
new_ltEs21(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Int)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs4(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_compare210(x0, x1, False, x2, x3, x4)
new_lt14(x0, x1)
new_compare25(x0, x1, True)
new_ltEs14(True, True)
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs14(False, False)
new_lt11(x0, x1, x2)
new_compare111(x0, x1, True, x2, x3, x4)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Double)
new_ltEs4(Right(x0), Right(x1), x2, ty_Int)
new_compare19(x0, x1, True, x2, x3)
new_esEs22(x0, x1, ty_Float)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_compare10(Float(x0, x1), Float(x2, x3))
new_esEs24(x0, x1, ty_Int)
new_not(True)
new_ltEs8(Just(x0), Just(x1), ty_Float)
new_esEs27(x0, x1, ty_Char)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs21(x0, x1, ty_@0)
new_esEs21(x0, x1, ty_@0)
new_esEs7(Right(x0), Right(x1), x2, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_esEs4(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Double)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_not(False)
new_compare31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt6(x0, x1, ty_Char)
new_ltEs4(Left(x0), Right(x1), x2, x3)
new_lt6(x0, x1, app(ty_Ratio, x2))
new_ltEs4(Right(x0), Left(x1), x2, x3)
new_esEs4(Just(x0), Just(x1), ty_Integer)
new_esEs26(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_@0)
new_compare25(x0, x1, False)
new_esEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs6(EQ, GT)
new_ltEs6(GT, EQ)
new_esEs13(:%(x0, x1), :%(x2, x3), x4)
new_compare31(x0, x1, ty_Integer)
new_ltEs18(x0, x1, ty_Double)
new_esEs7(Left(x0), Left(x1), ty_@0, x2)
new_esEs9(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_@0)
new_ltEs8(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs13(x0, x1)
new_ltEs4(Left(x0), Left(x1), ty_Double, x2)
new_ltEs8(Just(x0), Just(x1), ty_Char)
new_esEs15(Char(x0), Char(x1))
new_compare16(x0, x1)
new_ltEs15(x0, x1)
new_esEs9(x0, x1, ty_Float)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_asAs(True, x0)
new_esEs8(EQ, LT)
new_esEs8(LT, EQ)
new_esEs7(Left(x0), Left(x1), ty_Bool, x2)
new_compare0([], [], x0)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_primCompAux0(x0, GT)
new_ltEs18(x0, x1, ty_Ordering)
new_esEs9(x0, x1, ty_Int)
new_lt7(x0, x1)
new_ltEs8(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs20(x0, x1, ty_Bool)
new_esEs20(x0, x1, ty_Float)
new_compare31(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_@0)
new_esEs12([], [], x0)
new_esEs30(x0, x1, ty_Integer)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs17(False, True)
new_esEs17(True, False)
new_esEs30(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Char)
new_esEs7(Right(x0), Left(x1), x2, x3)
new_esEs7(Left(x0), Right(x1), x2, x3)
new_compare31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs17(True, True)
new_esEs23(x0, x1, ty_Int)
new_compare26(x0, x1, False)
new_esEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_primEqNat0(Zero, Succ(x0))
new_lt5(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpNat2(Succ(x0), x1)
new_esEs10(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_Bool)
new_esEs28(x0, x1, ty_@0)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_lt5(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare0([], :(x0, x1), x2)
new_esEs19(@0, @0)
new_compare11(x0, x1, False)
new_esEs20(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_Int)
new_compare110(x0, x1, True, x2)
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_esEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_compare11(x0, x1, True)
new_ltEs4(Right(x0), Right(x1), x2, ty_Char)
new_primPlusNat1(Succ(x0), x1)
new_esEs9(x0, x1, ty_@0)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ AND
                                        ↳ QDP
                                          ↳ UsableRulesProof
QDP
                                              ↳ QReductionProof
                                        ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_splitGT3(Right(ywz400), ywz41, ywz42, ywz43, ywz44, Right(ywz500), h, ba, bb) → new_splitGT22(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Right(ywz500), Right(ywz400), new_esEs30(ywz500, ywz400, ba), h, ba), GT), h, ba, bb)
new_splitGT3(Left(ywz400), ywz41, ywz42, ywz43, ywz44, Right(ywz500), h, ba, bb) → new_splitGT21(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Right(ywz500), Left(ywz400), False, h, ba), GT), h, ba, bb)
new_splitGT21(ywz400, ywz41, ywz42, ywz43, Branch(ywz440, ywz441, ywz442, ywz443, ywz444), ywz500, True, h, ba, bb) → new_splitGT3(ywz440, ywz441, ywz442, ywz443, ywz444, Right(ywz500), h, ba, bb)
new_splitGT21(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba, bb) → new_splitGT11(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_lt16(Right(ywz500), Left(ywz400), h, ba), h, ba, bb)
new_splitGT12(ywz63, ywz64, ywz65, ywz66, ywz67, ywz68, True, bf, bg, bh) → new_splitGT0(ywz66, ywz68, bf, bg, bh)
new_splitGT22(ywz63, ywz64, ywz65, ywz66, ywz67, ywz68, False, bf, bg, bh) → new_splitGT12(ywz63, ywz64, ywz65, ywz66, ywz67, ywz68, new_lt16(Right(ywz68), Right(ywz63), bf, bg), bf, bg, bh)
new_splitGT22(ywz63, ywz64, ywz65, ywz66, ywz67, ywz68, True, bf, bg, bh) → new_splitGT0(ywz67, ywz68, bf, bg, bh)
new_splitGT0(Branch(ywz440, ywz441, ywz442, ywz443, ywz444), ywz500, h, ba, bb) → new_splitGT3(ywz440, ywz441, ywz442, ywz443, ywz444, Right(ywz500), h, ba, bb)
new_splitGT11(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba, bb) → new_splitGT0(ywz43, ywz500, h, ba, bb)

The TRS R consists of the following rules:

new_lt16(ywz50, ywz40, h, ba) → new_esEs8(new_compare18(ywz50, ywz40, h, ba), LT)
new_compare18(ywz50, ywz40, h, ba) → new_compare24(ywz50, ywz40, new_esEs7(ywz50, ywz40, h, ba), h, ba)
new_esEs8(LT, LT) → True
new_esEs8(GT, LT) → False
new_esEs8(EQ, LT) → False
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Integer, ca) → new_esEs14(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Right(ywz4000), de, ca) → False
new_esEs7(Right(ywz5000), Left(ywz4000), de, ca) → False
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(ty_@2, ea), eb)) → new_esEs5(ywz5000, ywz4000, ea, eb)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Int, ca) → new_esEs11(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_@2, ce), cf), ca) → new_esEs5(ywz5000, ywz4000, ce, cf)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Ordering, ca) → new_esEs8(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(app(ty_@3, ee), ef), eg)) → new_esEs6(ywz5000, ywz4000, ee, ef, eg)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_Ratio, dh)) → new_esEs13(ywz5000, ywz4000, dh)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Ratio, cd), ca) → new_esEs13(ywz5000, ywz4000, cd)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_[], df)) → new_esEs12(ywz5000, ywz4000, df)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_[], cb), ca) → new_esEs12(ywz5000, ywz4000, cb)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Double, ca) → new_esEs16(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Float, ca) → new_esEs18(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, db), dc), dd), ca) → new_esEs6(ywz5000, ywz4000, db, dc, dd)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Bool, ca) → new_esEs17(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_@0, ca) → new_esEs19(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Char, ca) → new_esEs15(ywz5000, ywz4000)
new_compare24(Left(ywz500), Left(ywz400), False, h, ba) → new_compare14(ywz500, ywz400, new_ltEs19(ywz500, ywz400, h), h, ba)
new_compare24(Left(ywz500), Right(ywz400), False, h, ba) → LT
new_compare24(ywz50, ywz40, True, h, ba) → EQ
new_compare24(Right(ywz500), Left(ywz400), False, h, ba) → GT
new_compare24(Right(ywz500), Right(ywz400), False, h, ba) → new_compare12(ywz500, ywz400, new_ltEs20(ywz500, ywz400, ba), h, ba)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cg), da), ca) → new_esEs7(ywz5000, ywz4000, cg, da)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhh), caa)) → new_esEs7(ywz5000, ywz4000, bhh, caa)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bhd)) → new_esEs4(ywz5000, ywz4000, bhd)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(ty_Either, ec), ed)) → new_esEs7(ywz5000, ywz4000, ec, ed)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Maybe, cc), ca) → new_esEs4(ywz5000, ywz4000, cc)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_Maybe, dg)) → new_esEs4(ywz5000, ywz4000, dg)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs4(Nothing, Just(ywz4000), bfe) → False
new_esEs4(Just(ywz5000), Nothing, bfe) → False
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cab), cac), cad)) → new_esEs6(ywz5000, ywz4000, cab, cac, cad)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_[], bhc)) → new_esEs12(ywz5000, ywz4000, bhc)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bhf), bhg)) → new_esEs5(ywz5000, ywz4000, bhf, bhg)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs4(Nothing, Nothing, bfe) → True
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhe)) → new_esEs13(ywz5000, ywz4000, bhe)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs15(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_esEs19(@0, @0) → True
new_esEs11(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs16(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_sr(ywz5000, ywz4000) → new_primMulInt(ywz5000, ywz4000)
new_primMulInt(Pos(ywz50000), Pos(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Neg(ywz50000), Neg(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Neg(ywz50000), Pos(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Pos(ywz50000), Neg(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(ywz500000), Succ(ywz400000)) → new_primPlusNat1(new_primMulNat0(ywz500000, Succ(ywz400000)), ywz400000)
new_primMulNat0(Succ(ywz500000), Zero) → Zero
new_primMulNat0(Zero, Succ(ywz400000)) → Zero
new_primPlusNat1(Zero, ywz400000) → Succ(ywz400000)
new_primPlusNat1(Succ(ywz2480), ywz400000) → Succ(Succ(new_primPlusNat0(ywz2480, ywz400000)))
new_primPlusNat0(Zero, Succ(ywz4000000)) → Succ(ywz4000000)
new_primPlusNat0(Succ(ywz24800), Zero) → Succ(ywz24800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(ywz24800), Succ(ywz4000000)) → Succ(Succ(new_primPlusNat0(ywz24800, ywz4000000)))
new_esEs13(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), bff) → new_asAs(new_esEs24(ywz5000, ywz4000, bff), new_esEs23(ywz5001, ywz4001, bff))
new_esEs24(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs24(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs23(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs23(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_asAs(False, ywz142) → False
new_asAs(True, ywz142) → ywz142
new_esEs14(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_esEs18(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs5(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcg, bch) → new_asAs(new_esEs22(ywz5000, ywz4000, bcg), new_esEs21(ywz5001, ywz4001, bch))
new_esEs22(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_esEs5(ywz5000, ywz4000, bef, beg)
new_esEs22(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_esEs7(ywz5000, ywz4000, beh, bfa)
new_esEs22(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs22(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_esEs4(ywz5000, ywz4000, bed)
new_esEs22(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_esEs13(ywz5000, ywz4000, bee)
new_esEs22(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(ty_[], bec)) → new_esEs12(ywz5000, ywz4000, bec)
new_esEs22(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bdc)) → new_esEs13(ywz5001, ywz4001, bdc)
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bdd), bde)) → new_esEs5(ywz5001, ywz4001, bdd, bde)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_[], bda)) → new_esEs12(ywz5001, ywz4001, bda)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bdf), bdg)) → new_esEs7(ywz5001, ywz4001, bdf, bdg)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bdb)) → new_esEs4(ywz5001, ywz4001, bdb)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bdh), bea), beb)) → new_esEs6(ywz5001, ywz4001, bdh, bea, beb)
new_esEs6(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), eh, fa, fb) → new_asAs(new_esEs27(ywz5000, ywz4000, eh), new_asAs(new_esEs26(ywz5001, ywz4001, fa), new_esEs25(ywz5002, ywz4002, fb)))
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_esEs7(ywz5000, ywz4000, ga, gb)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_esEs13(ywz5000, ywz4000, ff)
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_esEs6(ywz5000, ywz4000, gc, gd, ge)
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_esEs5(ywz5000, ywz4000, fg, fh)
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_esEs4(ywz5000, ywz4000, fd)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_[], fc)) → new_esEs12(ywz5000, ywz4000, fc)
new_esEs26(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_esEs4(ywz5001, ywz4001, gg)
new_esEs26(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_esEs13(ywz5001, ywz4001, gh)
new_esEs26(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_esEs6(ywz5001, ywz4001, he, hf, hg)
new_esEs26(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_esEs7(ywz5001, ywz4001, hc, hd)
new_esEs26(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_esEs5(ywz5001, ywz4001, ha, hb)
new_esEs26(ywz5001, ywz4001, app(ty_[], gf)) → new_esEs12(ywz5001, ywz4001, gf)
new_esEs26(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, ty_Bool) → new_esEs17(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Double) → new_esEs16(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Ordering) → new_esEs8(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(ty_Ratio, bab)) → new_esEs13(ywz5002, ywz4002, bab)
new_esEs25(ywz5002, ywz4002, app(ty_[], hh)) → new_esEs12(ywz5002, ywz4002, hh)
new_esEs25(ywz5002, ywz4002, app(ty_Maybe, baa)) → new_esEs4(ywz5002, ywz4002, baa)
new_esEs25(ywz5002, ywz4002, ty_@0) → new_esEs19(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Float) → new_esEs18(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Integer) → new_esEs14(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(app(app(ty_@3, bag), bah), bba)) → new_esEs6(ywz5002, ywz4002, bag, bah, bba)
new_esEs25(ywz5002, ywz4002, ty_Char) → new_esEs15(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(app(ty_@2, bac), bad)) → new_esEs5(ywz5002, ywz4002, bac, bad)
new_esEs25(ywz5002, ywz4002, ty_Int) → new_esEs11(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(app(ty_Either, bae), baf)) → new_esEs7(ywz5002, ywz4002, bae, baf)
new_esEs12(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bbd) → new_asAs(new_esEs20(ywz5000, ywz4000, bbd), new_esEs12(ywz5001, ywz4001, bbd))
new_esEs12([], [], bbd) → True
new_esEs12(:(ywz5000, ywz5001), [], bbd) → False
new_esEs12([], :(ywz4000, ywz4001), bbd) → False
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bbf)) → new_esEs4(ywz5000, ywz4000, bbf)
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bbg)) → new_esEs13(ywz5000, ywz4000, bbg)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, bbh), bca)) → new_esEs5(ywz5000, ywz4000, bbh, bca)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bcd), bce), bcf)) → new_esEs6(ywz5000, ywz4000, bcd, bce, bcf)
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_[], bbe)) → new_esEs12(ywz5000, ywz4000, bbe)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, bcb), bcc)) → new_esEs7(ywz5000, ywz4000, bcb, bcc)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs8(GT, GT) → True
new_esEs8(LT, GT) → False
new_esEs8(EQ, EQ) → True
new_esEs8(LT, EQ) → False
new_esEs8(EQ, GT) → False
new_esEs8(GT, EQ) → False
new_esEs17(True, True) → True
new_esEs17(False, False) → True
new_esEs17(False, True) → False
new_esEs17(True, False) → False
new_ltEs20(ywz500, ywz400, app(ty_Ratio, bga)) → new_ltEs9(ywz500, ywz400, bga)
new_ltEs20(ywz500, ywz400, app(ty_[], bfg)) → new_ltEs7(ywz500, ywz400, bfg)
new_ltEs20(ywz500, ywz400, app(ty_Maybe, bfh)) → new_ltEs8(ywz500, ywz400, bfh)
new_ltEs20(ywz500, ywz400, app(app(ty_Either, bgd), bge)) → new_ltEs4(ywz500, ywz400, bgd, bge)
new_ltEs20(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, app(app(app(ty_@3, bgf), bgg), bgh)) → new_ltEs17(ywz500, ywz400, bgf, bgg, bgh)
new_ltEs20(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, app(app(ty_@2, bgb), bgc)) → new_ltEs10(ywz500, ywz400, bgb, bgc)
new_compare12(ywz154, ywz155, False, bbb, bbc) → GT
new_compare12(ywz154, ywz155, True, bbb, bbc) → LT
new_ltEs10(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcg, bch) → new_pePe(new_lt20(ywz5000, ywz4000, bcg), new_asAs(new_esEs28(ywz5000, ywz4000, bcg), new_ltEs21(ywz5001, ywz4001, bch)))
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(ty_[], bec)) → new_lt9(ywz5000, ywz4000, bec)
new_lt20(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_lt11(ywz5000, ywz4000, bee)
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_lt16(ywz5000, ywz4000, beh, bfa)
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_lt12(ywz5000, ywz4000, bef, beg)
new_lt20(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_lt10(ywz5000, ywz4000, bed)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_lt19(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs28(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_esEs4(ywz5000, ywz4000, bed)
new_esEs28(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_esEs7(ywz5000, ywz4000, beh, bfa)
new_esEs28(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_esEs5(ywz5000, ywz4000, bef, beg)
new_esEs28(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs28(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_esEs13(ywz5000, ywz4000, bee)
new_esEs28(ywz5000, ywz4000, app(ty_[], bec)) → new_esEs12(ywz5000, ywz4000, bec)
new_esEs28(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, app(app(app(ty_@3, bdh), bea), beb)) → new_ltEs17(ywz5001, ywz4001, bdh, bea, beb)
new_ltEs21(ywz5001, ywz4001, ty_Int) → new_ltEs5(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Double) → new_ltEs13(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, app(ty_[], bda)) → new_ltEs7(ywz5001, ywz4001, bda)
new_ltEs21(ywz5001, ywz4001, app(app(ty_Either, bdf), bdg)) → new_ltEs4(ywz5001, ywz4001, bdf, bdg)
new_ltEs21(ywz5001, ywz4001, ty_Char) → new_ltEs12(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, app(ty_Ratio, bdc)) → new_ltEs9(ywz5001, ywz4001, bdc)
new_ltEs21(ywz5001, ywz4001, app(ty_Maybe, bdb)) → new_ltEs8(ywz5001, ywz4001, bdb)
new_ltEs21(ywz5001, ywz4001, ty_@0) → new_ltEs16(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Integer) → new_ltEs11(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Bool) → new_ltEs14(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, app(app(ty_@2, bdd), bde)) → new_ltEs10(ywz5001, ywz4001, bdd, bde)
new_ltEs21(ywz5001, ywz4001, ty_Ordering) → new_ltEs6(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Float) → new_ltEs15(ywz5001, ywz4001)
new_pePe(False, ywz225) → ywz225
new_pePe(True, ywz225) → True
new_ltEs15(ywz500, ywz400) → new_not(new_esEs8(new_compare10(ywz500, ywz400), GT))
new_compare10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_not(False) → True
new_not(True) → False
new_compare8(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat1(ywz50000, ywz4000)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat2(ywz4000, ywz50000)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat2(Zero, ywz40000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat1(ywz40000, Zero)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_primCmpNat1(ywz50000, Zero) → GT
new_primCmpNat2(Zero, ywz50000) → LT
new_primCmpNat2(Succ(ywz40000), ywz50000) → new_primCmpNat0(ywz40000, ywz50000)
new_primCmpNat0(Zero, Succ(ywz400000)) → LT
new_primCmpNat0(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat0(ywz500000, ywz400000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(ywz500000), Zero) → GT
new_primCmpNat1(ywz50000, Succ(ywz40000)) → new_primCmpNat0(ywz50000, ywz40000)
new_ltEs6(GT, EQ) → False
new_ltEs6(EQ, GT) → True
new_ltEs6(EQ, EQ) → True
new_ltEs6(GT, GT) → True
new_ltEs6(LT, LT) → True
new_ltEs6(EQ, LT) → False
new_ltEs6(LT, GT) → True
new_ltEs6(LT, EQ) → True
new_ltEs6(GT, LT) → False
new_ltEs14(False, True) → True
new_ltEs14(False, False) → True
new_ltEs14(True, True) → True
new_ltEs14(True, False) → False
new_ltEs11(ywz500, ywz400) → new_not(new_esEs8(new_compare9(ywz500, ywz400), GT))
new_compare9(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_ltEs16(ywz500, ywz400) → new_not(new_esEs8(new_compare28(ywz500, ywz400), GT))
new_compare28(@0, @0) → EQ
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhe)) → new_ltEs9(ywz5000, ywz4000, bhe)
new_ltEs8(Nothing, Just(ywz4000), bfe) → True
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_[], bhc)) → new_ltEs7(ywz5000, ywz4000, bhc)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cab), cac), cad)) → new_ltEs17(ywz5000, ywz4000, cab, cac, cad)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Nothing, bfe) → False
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, cc), ca) → new_ltEs8(ywz5000, ywz4000, cc)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bhd)) → new_ltEs8(ywz5000, ywz4000, bhd)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(ty_Either, ec), ed)) → new_ltEs4(ywz5000, ywz4000, ec, ed)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cg), da), ca) → new_ltEs4(ywz5000, ywz4000, cg, da)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_Maybe, dg)) → new_ltEs8(ywz5000, ywz4000, dg)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhh), caa)) → new_ltEs4(ywz5000, ywz4000, bhh, caa)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_ltEs8(Nothing, Nothing, bfe) → True
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bhf), bhg)) → new_ltEs10(ywz5000, ywz4000, bhf, bhg)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_ltEs12(ywz500, ywz400) → new_not(new_esEs8(new_compare5(ywz500, ywz400), GT))
new_compare5(Char(ywz5000), Char(ywz4000)) → new_primCmpNat0(ywz5000, ywz4000)
new_ltEs5(ywz500, ywz400) → new_not(new_esEs8(new_compare8(ywz500, ywz400), GT))
new_ltEs13(ywz500, ywz400) → new_not(new_esEs8(new_compare15(ywz500, ywz400), GT))
new_compare15(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Int, ca) → new_ltEs5(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Double, ca) → new_ltEs13(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, ce), cf), ca) → new_ltEs10(ywz5000, ywz4000, ce, cf)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Char, ca) → new_ltEs12(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, db), dc), dd), ca) → new_ltEs17(ywz5000, ywz4000, db, dc, dd)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, ca) → new_ltEs6(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Right(ywz4000), de, ca) → True
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Bool, ca) → new_ltEs14(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, cd), ca) → new_ltEs9(ywz5000, ywz4000, cd)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_@0, ca) → new_ltEs16(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(app(ty_@3, ee), ef), eg)) → new_ltEs17(ywz5000, ywz4000, ee, ef, eg)
new_ltEs4(Right(ywz5000), Left(ywz4000), de, ca) → False
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_Ratio, dh)) → new_ltEs9(ywz5000, ywz4000, dh)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(ty_@2, ea), eb)) → new_ltEs10(ywz5000, ywz4000, ea, eb)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Float, ca) → new_ltEs15(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_[], cb), ca) → new_ltEs7(ywz5000, ywz4000, cb)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_[], df)) → new_ltEs7(ywz5000, ywz4000, df)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Integer, ca) → new_ltEs11(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, bbd) → new_not(new_esEs8(new_compare0(ywz500, ywz400, bbd), GT))
new_compare0([], [], bbd) → EQ
new_compare0(:(ywz5000, ywz5001), [], bbd) → GT
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bbd) → new_primCompAux1(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, bbd), bbd)
new_compare0([], :(ywz4000, ywz4001), bbd) → LT
new_primCompAux1(ywz5000, ywz4000, ywz290, bbd) → new_primCompAux0(ywz290, new_compare31(ywz5000, ywz4000, bbd))
new_compare31(ywz5000, ywz4000, ty_Double) → new_compare15(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Int) → new_compare8(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Ordering) → new_compare16(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(app(ty_Either, bcb), bcc)) → new_compare18(ywz5000, ywz4000, bcb, bcc)
new_compare31(ywz5000, ywz4000, ty_@0) → new_compare28(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_Maybe, bbf)) → new_compare32(ywz5000, ywz4000, bbf)
new_compare31(ywz5000, ywz4000, app(app(app(ty_@3, bcd), bce), bcf)) → new_compare17(ywz5000, ywz4000, bcd, bce, bcf)
new_compare31(ywz5000, ywz4000, ty_Bool) → new_compare6(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(app(ty_@2, bbh), bca)) → new_compare30(ywz5000, ywz4000, bbh, bca)
new_compare31(ywz5000, ywz4000, ty_Integer) → new_compare9(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_Ratio, bbg)) → new_compare7(ywz5000, ywz4000, bbg)
new_compare31(ywz5000, ywz4000, ty_Char) → new_compare5(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_[], bbe)) → new_compare0(ywz5000, ywz4000, bbe)
new_compare31(ywz5000, ywz4000, ty_Float) → new_compare10(ywz5000, ywz4000)
new_primCompAux0(ywz333, GT) → GT
new_primCompAux0(ywz333, LT) → LT
new_primCompAux0(ywz333, EQ) → ywz333
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare8(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare9(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_sr0(Integer(ywz50000), Integer(ywz40010)) → Integer(new_primMulInt(ywz50000, ywz40010))
new_compare30(ywz5000, ywz4000, bef, beg) → new_compare27(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bef, beg), bef, beg)
new_compare27(ywz5000, ywz4000, True, bef, beg) → EQ
new_compare27(ywz5000, ywz4000, False, bef, beg) → new_compare19(ywz5000, ywz4000, new_ltEs10(ywz5000, ywz4000, bef, beg), bef, beg)
new_compare19(ywz5000, ywz4000, True, bef, beg) → LT
new_compare19(ywz5000, ywz4000, False, bef, beg) → GT
new_compare6(ywz5000, ywz4000) → new_compare25(ywz5000, ywz4000, new_esEs17(ywz5000, ywz4000))
new_compare25(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs14(ywz5000, ywz4000))
new_compare25(ywz5000, ywz4000, True) → EQ
new_compare11(ywz5000, ywz4000, False) → GT
new_compare11(ywz5000, ywz4000, True) → LT
new_compare17(ywz5000, ywz4000, bfb, bfc, bfd) → new_compare210(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd), bfb, bfc, bfd)
new_compare210(ywz5000, ywz4000, True, bfb, bfc, bfd) → EQ
new_compare210(ywz5000, ywz4000, False, bfb, bfc, bfd) → new_compare111(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000, bfb, bfc, bfd), bfb, bfc, bfd)
new_ltEs17(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), eh, fa, fb) → new_pePe(new_lt5(ywz5000, ywz4000, eh), new_asAs(new_esEs10(ywz5000, ywz4000, eh), new_pePe(new_lt6(ywz5001, ywz4001, fa), new_asAs(new_esEs9(ywz5001, ywz4001, fa), new_ltEs18(ywz5002, ywz4002, fb)))))
new_compare111(ywz5000, ywz4000, True, bfb, bfc, bfd) → LT
new_compare111(ywz5000, ywz4000, False, bfb, bfc, bfd) → GT
new_lt5(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_lt19(ywz5000, ywz4000, gc, gd, ge)
new_lt5(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_lt16(ywz5000, ywz4000, ga, gb)
new_lt5(ywz5000, ywz4000, app(ty_[], fc)) → new_lt9(ywz5000, ywz4000, fc)
new_lt5(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_lt11(ywz5000, ywz4000, ff)
new_lt5(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_lt12(ywz5000, ywz4000, fg, fh)
new_lt5(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_lt10(ywz5000, ywz4000, fd)
new_lt5(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(ty_[], fc)) → new_esEs12(ywz5000, ywz4000, fc)
new_esEs10(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_esEs7(ywz5000, ywz4000, ga, gb)
new_esEs10(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_esEs5(ywz5000, ywz4000, fg, fh)
new_esEs10(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_esEs6(ywz5000, ywz4000, gc, gd, ge)
new_esEs10(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_esEs13(ywz5000, ywz4000, ff)
new_esEs10(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_esEs4(ywz5000, ywz4000, fd)
new_esEs10(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, ty_Bool) → new_lt4(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, ty_Char) → new_lt14(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, ty_Ordering) → new_lt8(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_lt11(ywz5001, ywz4001, gh)
new_lt6(ywz5001, ywz4001, ty_Float) → new_lt17(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, ty_Double) → new_lt15(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(ty_[], gf)) → new_lt9(ywz5001, ywz4001, gf)
new_lt6(ywz5001, ywz4001, ty_Integer) → new_lt13(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_lt19(ywz5001, ywz4001, he, hf, hg)
new_lt6(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_lt10(ywz5001, ywz4001, gg)
new_lt6(ywz5001, ywz4001, ty_Int) → new_lt7(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_lt16(ywz5001, ywz4001, hc, hd)
new_lt6(ywz5001, ywz4001, ty_@0) → new_lt18(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_lt12(ywz5001, ywz4001, ha, hb)
new_esEs9(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(ty_[], gf)) → new_esEs12(ywz5001, ywz4001, gf)
new_esEs9(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_esEs13(ywz5001, ywz4001, gh)
new_esEs9(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_esEs5(ywz5001, ywz4001, ha, hb)
new_esEs9(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_esEs4(ywz5001, ywz4001, gg)
new_esEs9(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_esEs6(ywz5001, ywz4001, he, hf, hg)
new_esEs9(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_esEs7(ywz5001, ywz4001, hc, hd)
new_ltEs18(ywz5002, ywz4002, ty_Float) → new_ltEs15(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(ty_Ratio, bab)) → new_ltEs9(ywz5002, ywz4002, bab)
new_ltEs18(ywz5002, ywz4002, app(ty_[], hh)) → new_ltEs7(ywz5002, ywz4002, hh)
new_ltEs18(ywz5002, ywz4002, ty_Double) → new_ltEs13(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Int) → new_ltEs5(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Ordering) → new_ltEs6(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(app(ty_@2, bac), bad)) → new_ltEs10(ywz5002, ywz4002, bac, bad)
new_ltEs18(ywz5002, ywz4002, ty_@0) → new_ltEs16(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Integer) → new_ltEs11(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(app(ty_Either, bae), baf)) → new_ltEs4(ywz5002, ywz4002, bae, baf)
new_ltEs18(ywz5002, ywz4002, app(app(app(ty_@3, bag), bah), bba)) → new_ltEs17(ywz5002, ywz4002, bag, bah, bba)
new_ltEs18(ywz5002, ywz4002, ty_Bool) → new_ltEs14(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Char) → new_ltEs12(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(ty_Maybe, baa)) → new_ltEs8(ywz5002, ywz4002, baa)
new_ltEs9(ywz500, ywz400, bff) → new_not(new_esEs8(new_compare7(ywz500, ywz400, bff), GT))
new_lt12(ywz5000, ywz4000, bef, beg) → new_esEs8(new_compare30(ywz5000, ywz4000, bef, beg), LT)
new_lt18(ywz5000, ywz4000) → new_esEs8(new_compare28(ywz5000, ywz4000), LT)
new_lt7(ywz5000, ywz4000) → new_esEs8(new_compare8(ywz5000, ywz4000), LT)
new_lt10(ywz5000, ywz4000, bed) → new_esEs8(new_compare32(ywz5000, ywz4000, bed), LT)
new_compare32(ywz5000, ywz4000, bed) → new_compare29(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, bed), bed)
new_compare29(ywz5000, ywz4000, False, bed) → new_compare110(ywz5000, ywz4000, new_ltEs8(ywz5000, ywz4000, bed), bed)
new_compare29(ywz5000, ywz4000, True, bed) → EQ
new_compare110(ywz5000, ywz4000, True, bed) → LT
new_compare110(ywz5000, ywz4000, False, bed) → GT
new_lt19(ywz5000, ywz4000, bfb, bfc, bfd) → new_esEs8(new_compare17(ywz5000, ywz4000, bfb, bfc, bfd), LT)
new_lt13(ywz5000, ywz4000) → new_esEs8(new_compare9(ywz5000, ywz4000), LT)
new_lt9(ywz5000, ywz4000, bec) → new_esEs8(new_compare0(ywz5000, ywz4000, bec), LT)
new_lt15(ywz5000, ywz4000) → new_esEs8(new_compare15(ywz5000, ywz4000), LT)
new_lt17(ywz5000, ywz4000) → new_esEs8(new_compare10(ywz5000, ywz4000), LT)
new_lt11(ywz5000, ywz4000, bee) → new_esEs8(new_compare7(ywz5000, ywz4000, bee), LT)
new_lt8(ywz5000, ywz4000) → new_esEs8(new_compare16(ywz5000, ywz4000), LT)
new_compare16(ywz5000, ywz4000) → new_compare26(ywz5000, ywz4000, new_esEs8(ywz5000, ywz4000))
new_compare26(ywz5000, ywz4000, False) → new_compare13(ywz5000, ywz4000, new_ltEs6(ywz5000, ywz4000))
new_compare26(ywz5000, ywz4000, True) → EQ
new_compare13(ywz5000, ywz4000, False) → GT
new_compare13(ywz5000, ywz4000, True) → LT
new_lt14(ywz5000, ywz4000) → new_esEs8(new_compare5(ywz5000, ywz4000), LT)
new_lt4(ywz5000, ywz4000) → new_esEs8(new_compare6(ywz5000, ywz4000), LT)
new_ltEs19(ywz500, ywz400, app(app(ty_Either, de), ca)) → new_ltEs4(ywz500, ywz400, de, ca)
new_ltEs19(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(app(ty_@2, bcg), bch)) → new_ltEs10(ywz500, ywz400, bcg, bch)
new_ltEs19(ywz500, ywz400, app(ty_Ratio, bff)) → new_ltEs9(ywz500, ywz400, bff)
new_ltEs19(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(ty_Maybe, bfe)) → new_ltEs8(ywz500, ywz400, bfe)
new_ltEs19(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(ty_[], bbd)) → new_ltEs7(ywz500, ywz400, bbd)
new_ltEs19(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(app(app(ty_@3, eh), fa), fb)) → new_ltEs17(ywz500, ywz400, eh, fa, fb)
new_ltEs19(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_compare14(ywz147, ywz148, False, bha, bhb) → GT
new_compare14(ywz147, ywz148, True, bha, bhb) → LT
new_esEs30(ywz500, ywz400, app(app(ty_Either, bgd), bge)) → new_esEs7(ywz500, ywz400, bgd, bge)
new_esEs30(ywz500, ywz400, ty_Float) → new_esEs18(ywz500, ywz400)
new_esEs30(ywz500, ywz400, ty_@0) → new_esEs19(ywz500, ywz400)
new_esEs30(ywz500, ywz400, ty_Bool) → new_esEs17(ywz500, ywz400)
new_esEs30(ywz500, ywz400, app(ty_Maybe, bfh)) → new_esEs4(ywz500, ywz400, bfh)
new_esEs30(ywz500, ywz400, app(ty_[], bfg)) → new_esEs12(ywz500, ywz400, bfg)
new_esEs30(ywz500, ywz400, app(app(ty_@2, bgb), bgc)) → new_esEs5(ywz500, ywz400, bgb, bgc)
new_esEs30(ywz500, ywz400, app(ty_Ratio, bga)) → new_esEs13(ywz500, ywz400, bga)
new_esEs30(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_esEs30(ywz500, ywz400, ty_Int) → new_esEs11(ywz500, ywz400)
new_esEs30(ywz500, ywz400, ty_Double) → new_esEs16(ywz500, ywz400)
new_esEs30(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_esEs30(ywz500, ywz400, app(app(app(ty_@3, bgf), bgg), bgh)) → new_esEs6(ywz500, ywz400, bgf, bgg, bgh)
new_esEs30(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)

The set Q consists of the following terms:

new_esEs7(Left(x0), Left(x1), ty_Int, x2)
new_esEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs21(x0, x1, ty_Int)
new_compare24(Right(x0), Right(x1), False, x2, x3)
new_esEs18(Float(x0, x1), Float(x2, x3))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs16(x0, x1)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_primCmpNat1(x0, Succ(x1))
new_esEs20(x0, x1, ty_Double)
new_lt6(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Double)
new_compare27(x0, x1, True, x2, x3)
new_esEs30(x0, x1, ty_Double)
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Int)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt9(x0, x1, x2)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_ltEs21(x0, x1, ty_Ordering)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_primCompAux0(x0, EQ)
new_esEs29(x0, x1, ty_Double)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, ty_Bool)
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Bool)
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, ty_Int)
new_esEs22(x0, x1, ty_Ordering)
new_compare15(Double(x0, x1), Double(x2, x3))
new_esEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_lt6(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_primCmpNat0(Succ(x0), Zero)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_lt4(x0, x1)
new_ltEs21(x0, x1, ty_Double)
new_lt10(x0, x1, x2)
new_compare5(Char(x0), Char(x1))
new_esEs29(x0, x1, ty_Ordering)
new_esEs29(x0, x1, ty_Bool)
new_ltEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs14(True, False)
new_ltEs14(False, True)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs30(x0, x1, ty_Ordering)
new_esEs30(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Ordering)
new_lt8(x0, x1)
new_esEs8(GT, GT)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(x0, x1, x2)
new_esEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_lt20(x0, x1, app(ty_[], x2))
new_compare14(x0, x1, True, x2, x3)
new_compare30(x0, x1, x2, x3)
new_esEs26(x0, x1, ty_Int)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_Integer)
new_esEs7(Left(x0), Left(x1), ty_Integer, x2)
new_esEs8(LT, LT)
new_esEs26(x0, x1, ty_Float)
new_primPlusNat1(Zero, x0)
new_ltEs19(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_compare27(x0, x1, False, x2, x3)
new_lt20(x0, x1, ty_Int)
new_primEqNat0(Succ(x0), Succ(x1))
new_compare0(:(x0, x1), [], x2)
new_ltEs19(x0, x1, ty_Float)
new_esEs17(False, False)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Integer)
new_esEs7(Right(x0), Right(x1), x2, ty_Float)
new_esEs27(x0, x1, ty_Float)
new_lt5(x0, x1, ty_Int)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_compare210(x0, x1, True, x2, x3, x4)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Bool)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, ty_Bool)
new_ltEs6(EQ, EQ)
new_pePe(False, x0)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_compare12(x0, x1, False, x2, x3)
new_esEs7(Left(x0), Left(x1), ty_Char, x2)
new_esEs8(LT, GT)
new_esEs8(GT, LT)
new_ltEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_compare9(Integer(x0), Integer(x1))
new_pePe(True, x0)
new_esEs28(x0, x1, ty_Int)
new_esEs7(Left(x0), Left(x1), ty_Float, x2)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs4(Just(x0), Just(x1), ty_@0)
new_esEs4(Just(x0), Just(x1), ty_Int)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs6(LT, EQ)
new_ltEs20(x0, x1, ty_@0)
new_ltEs6(EQ, LT)
new_compare7(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_primEqNat0(Zero, Zero)
new_ltEs19(x0, x1, ty_Double)
new_esEs7(Right(x0), Right(x1), x2, ty_Int)
new_ltEs8(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs19(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Bool)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Char)
new_compare26(x0, x1, True)
new_esEs12(:(x0, x1), [], x2)
new_compare110(x0, x1, False, x2)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs4(Right(x0), Right(x1), x2, ty_Integer)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_ltEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_compare29(x0, x1, False, x2)
new_esEs4(Just(x0), Just(x1), app(ty_Ratio, x2))
new_lt6(x0, x1, app(ty_Maybe, x2))
new_compare28(@0, @0)
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs28(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Char)
new_primMulNat0(Zero, Zero)
new_esEs28(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, ty_@0)
new_ltEs21(x0, x1, ty_Float)
new_esEs9(x0, x1, ty_Integer)
new_ltEs10(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt20(x0, x1, ty_@0)
new_esEs30(x0, x1, ty_Char)
new_primCompAux1(x0, x1, x2, x3)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Double)
new_lt6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs19(x0, x1, ty_Int)
new_compare29(x0, x1, True, x2)
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs22(x0, x1, ty_@0)
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_ltEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs9(x0, x1, ty_Bool)
new_esEs4(Just(x0), Just(x1), ty_Float)
new_lt5(x0, x1, ty_@0)
new_esEs10(x0, x1, ty_Ordering)
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_esEs12([], :(x0, x1), x2)
new_ltEs8(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs7(Left(x0), Left(x1), ty_Double, x2)
new_esEs28(x0, x1, ty_Integer)
new_lt6(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Double)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs8(Nothing, Nothing, x0)
new_esEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs20(x0, x1, ty_@0)
new_esEs25(x0, x1, ty_Int)
new_ltEs20(x0, x1, ty_Int)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, ty_Char)
new_compare24(Left(x0), Right(x1), False, x2, x3)
new_compare24(Right(x0), Left(x1), False, x2, x3)
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs18(x0, x1, ty_Char)
new_esEs21(x0, x1, ty_Integer)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs30(x0, x1, ty_Bool)
new_asAs(False, x0)
new_esEs25(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, ty_Char)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_primMulNat0(Succ(x0), Succ(x1))
new_ltEs4(Right(x0), Right(x1), x2, ty_@0)
new_esEs22(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), ty_Double)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, ty_Ordering)
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_primCmpNat1(x0, Zero)
new_primCmpNat2(Zero, x0)
new_ltEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs11(x0, x1)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_primPlusNat0(Zero, Zero)
new_esEs12(:(x0, x1), :(x2, x3), x4)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Ordering)
new_lt6(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare13(x0, x1, True)
new_compare12(x0, x1, True, x2, x3)
new_lt6(x0, x1, ty_Float)
new_sr(x0, x1)
new_ltEs8(Just(x0), Just(x1), ty_Int)
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_compare14(x0, x1, False, x2, x3)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_esEs30(x0, x1, app(ty_[], x2))
new_compare7(:%(x0, x1), :%(x2, x3), ty_Int)
new_ltEs4(Left(x0), Left(x1), ty_Int, x2)
new_esEs4(Just(x0), Just(x1), ty_Ordering)
new_primMulNat0(Zero, Succ(x0))
new_ltEs18(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_compare8(x0, x1)
new_lt12(x0, x1, x2, x3)
new_esEs29(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Bool)
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs8(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Ordering)
new_esEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs5(x0, x1)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, ty_Double)
new_lt15(x0, x1)
new_ltEs20(x0, x1, ty_Ordering)
new_lt6(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs8(Just(x0), Just(x1), ty_Bool)
new_ltEs4(Left(x0), Left(x1), ty_Integer, x2)
new_primPlusNat0(Succ(x0), Succ(x1))
new_esEs7(Right(x0), Right(x1), x2, ty_Double)
new_lt6(x0, x1, ty_Integer)
new_ltEs8(Just(x0), Just(x1), app(ty_[], x2))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_Bool, x2)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Float)
new_ltEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs4(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_ltEs8(Just(x0), Just(x1), ty_Double)
new_esEs4(Just(x0), Just(x1), app(ty_[], x2))
new_esEs14(Integer(x0), Integer(x1))
new_ltEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs25(x0, x1, ty_Float)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primMulNat0(Succ(x0), Zero)
new_esEs10(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Double)
new_esEs16(Double(x0, x1), Double(x2, x3))
new_compare24(x0, x1, True, x2, x3)
new_compare6(x0, x1)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_compare32(x0, x1, x2)
new_lt5(x0, x1, ty_Bool)
new_lt13(x0, x1)
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCompAux0(x0, LT)
new_lt18(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs8(EQ, EQ)
new_compare13(x0, x1, False)
new_primPlusNat0(Zero, Succ(x0))
new_ltEs8(Just(x0), Just(x1), ty_Ordering)
new_ltEs19(x0, x1, ty_Integer)
new_esEs4(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs10(x0, x1, ty_Float)
new_lt17(x0, x1)
new_esEs4(Nothing, Just(x0), x1)
new_esEs22(x0, x1, ty_Int)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_esEs29(x0, x1, ty_@0)
new_esEs29(x0, x1, app(ty_[], x2))
new_compare19(x0, x1, False, x2, x3)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Char)
new_esEs7(Right(x0), Right(x1), x2, ty_Bool)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_compare24(Left(x0), Left(x1), False, x2, x3)
new_esEs11(x0, x1)
new_lt5(x0, x1, ty_Integer)
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_sr0(Integer(x0), Integer(x1))
new_lt6(x0, x1, ty_Bool)
new_esEs9(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Double)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs12(x0, x1)
new_esEs22(x0, x1, ty_Bool)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, ty_Float)
new_esEs29(x0, x1, ty_Integer)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Integer)
new_ltEs8(Nothing, Just(x0), x1)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs30(x0, x1, ty_@0)
new_esEs4(Nothing, Nothing, x0)
new_ltEs8(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs20(x0, x1, ty_Float)
new_ltEs4(Left(x0), Left(x1), ty_Float, x2)
new_compare18(x0, x1, x2, x3)
new_ltEs6(GT, GT)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, ty_Char)
new_ltEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_primMulInt(Neg(x0), Neg(x1))
new_lt5(x0, x1, app(ty_Maybe, x2))
new_esEs8(GT, EQ)
new_esEs8(EQ, GT)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, app(ty_Ratio, x2))
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_lt6(x0, x1, ty_Double)
new_lt6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_compare17(x0, x1, x2, x3, x4)
new_esEs24(x0, x1, ty_Integer)
new_primCmpNat0(Zero, Zero)
new_esEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_@0)
new_ltEs6(LT, LT)
new_esEs26(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_@0)
new_esEs28(x0, x1, ty_Ordering)
new_ltEs21(x0, x1, app(ty_[], x2))
new_ltEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs18(x0, x1, app(ty_[], x2))
new_compare111(x0, x1, False, x2, x3, x4)
new_esEs25(x0, x1, ty_Integer)
new_lt16(x0, x1, x2, x3)
new_primCmpNat0(Zero, Succ(x0))
new_ltEs9(x0, x1, x2)
new_esEs7(Right(x0), Right(x1), x2, ty_Integer)
new_esEs22(x0, x1, ty_Char)
new_compare31(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Char)
new_ltEs8(Just(x0), Just(x1), ty_@0)
new_primPlusNat0(Succ(x0), Zero)
new_esEs7(Right(x0), Right(x1), x2, ty_Char)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs4(Left(x0), Left(x1), ty_Char, x2)
new_lt19(x0, x1, x2, x3, x4)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs22(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_ltEs8(Just(x0), Just(x1), ty_Integer)
new_ltEs21(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Int)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs4(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_compare210(x0, x1, False, x2, x3, x4)
new_lt14(x0, x1)
new_compare25(x0, x1, True)
new_ltEs14(True, True)
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs14(False, False)
new_lt11(x0, x1, x2)
new_compare111(x0, x1, True, x2, x3, x4)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Double)
new_ltEs4(Right(x0), Right(x1), x2, ty_Int)
new_compare19(x0, x1, True, x2, x3)
new_esEs22(x0, x1, ty_Float)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_compare10(Float(x0, x1), Float(x2, x3))
new_esEs24(x0, x1, ty_Int)
new_not(True)
new_ltEs8(Just(x0), Just(x1), ty_Float)
new_esEs27(x0, x1, ty_Char)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs21(x0, x1, ty_@0)
new_esEs21(x0, x1, ty_@0)
new_esEs7(Right(x0), Right(x1), x2, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_esEs4(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Double)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_not(False)
new_compare31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt6(x0, x1, ty_Char)
new_ltEs4(Left(x0), Right(x1), x2, x3)
new_lt6(x0, x1, app(ty_Ratio, x2))
new_ltEs4(Right(x0), Left(x1), x2, x3)
new_esEs4(Just(x0), Just(x1), ty_Integer)
new_esEs26(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_@0)
new_compare25(x0, x1, False)
new_esEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs6(EQ, GT)
new_ltEs6(GT, EQ)
new_esEs13(:%(x0, x1), :%(x2, x3), x4)
new_compare31(x0, x1, ty_Integer)
new_ltEs18(x0, x1, ty_Double)
new_esEs7(Left(x0), Left(x1), ty_@0, x2)
new_esEs9(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_@0)
new_ltEs8(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs13(x0, x1)
new_ltEs4(Left(x0), Left(x1), ty_Double, x2)
new_ltEs8(Just(x0), Just(x1), ty_Char)
new_esEs15(Char(x0), Char(x1))
new_compare16(x0, x1)
new_ltEs15(x0, x1)
new_esEs9(x0, x1, ty_Float)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_asAs(True, x0)
new_esEs8(EQ, LT)
new_esEs8(LT, EQ)
new_esEs7(Left(x0), Left(x1), ty_Bool, x2)
new_compare0([], [], x0)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_primCompAux0(x0, GT)
new_ltEs18(x0, x1, ty_Ordering)
new_esEs9(x0, x1, ty_Int)
new_lt7(x0, x1)
new_ltEs8(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs20(x0, x1, ty_Bool)
new_esEs20(x0, x1, ty_Float)
new_compare31(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_@0)
new_esEs12([], [], x0)
new_esEs30(x0, x1, ty_Integer)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs17(False, True)
new_esEs17(True, False)
new_esEs30(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Char)
new_esEs7(Right(x0), Left(x1), x2, x3)
new_esEs7(Left(x0), Right(x1), x2, x3)
new_compare31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs17(True, True)
new_esEs23(x0, x1, ty_Int)
new_compare26(x0, x1, False)
new_esEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_primEqNat0(Zero, Succ(x0))
new_lt5(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpNat2(Succ(x0), x1)
new_esEs10(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_Bool)
new_esEs28(x0, x1, ty_@0)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_lt5(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare0([], :(x0, x1), x2)
new_esEs19(@0, @0)
new_compare11(x0, x1, False)
new_esEs20(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_Int)
new_compare110(x0, x1, True, x2)
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_esEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_compare11(x0, x1, True)
new_ltEs4(Right(x0), Right(x1), x2, ty_Char)
new_primPlusNat1(Succ(x0), x1)
new_esEs9(x0, x1, ty_@0)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_esEs29(x0, x1, ty_Double)
new_esEs29(x0, x1, ty_Int)
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_esEs29(x0, x1, ty_Ordering)
new_esEs29(x0, x1, ty_Bool)
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_esEs29(x0, x1, ty_Float)
new_esEs29(x0, x1, ty_@0)
new_esEs29(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, ty_Integer)
new_esEs29(x0, x1, ty_Char)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ AND
                                        ↳ QDP
                                          ↳ UsableRulesProof
                                            ↳ QDP
                                              ↳ QReductionProof
QDP
                                                  ↳ QDPSizeChangeProof
                                        ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_splitGT3(Left(ywz400), ywz41, ywz42, ywz43, ywz44, Right(ywz500), h, ba, bb) → new_splitGT21(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Right(ywz500), Left(ywz400), False, h, ba), GT), h, ba, bb)
new_splitGT3(Right(ywz400), ywz41, ywz42, ywz43, ywz44, Right(ywz500), h, ba, bb) → new_splitGT22(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Right(ywz500), Right(ywz400), new_esEs30(ywz500, ywz400, ba), h, ba), GT), h, ba, bb)
new_splitGT21(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba, bb) → new_splitGT11(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_lt16(Right(ywz500), Left(ywz400), h, ba), h, ba, bb)
new_splitGT21(ywz400, ywz41, ywz42, ywz43, Branch(ywz440, ywz441, ywz442, ywz443, ywz444), ywz500, True, h, ba, bb) → new_splitGT3(ywz440, ywz441, ywz442, ywz443, ywz444, Right(ywz500), h, ba, bb)
new_splitGT22(ywz63, ywz64, ywz65, ywz66, ywz67, ywz68, False, bf, bg, bh) → new_splitGT12(ywz63, ywz64, ywz65, ywz66, ywz67, ywz68, new_lt16(Right(ywz68), Right(ywz63), bf, bg), bf, bg, bh)
new_splitGT12(ywz63, ywz64, ywz65, ywz66, ywz67, ywz68, True, bf, bg, bh) → new_splitGT0(ywz66, ywz68, bf, bg, bh)
new_splitGT22(ywz63, ywz64, ywz65, ywz66, ywz67, ywz68, True, bf, bg, bh) → new_splitGT0(ywz67, ywz68, bf, bg, bh)
new_splitGT11(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba, bb) → new_splitGT0(ywz43, ywz500, h, ba, bb)
new_splitGT0(Branch(ywz440, ywz441, ywz442, ywz443, ywz444), ywz500, h, ba, bb) → new_splitGT3(ywz440, ywz441, ywz442, ywz443, ywz444, Right(ywz500), h, ba, bb)

The TRS R consists of the following rules:

new_lt16(ywz50, ywz40, h, ba) → new_esEs8(new_compare18(ywz50, ywz40, h, ba), LT)
new_compare18(ywz50, ywz40, h, ba) → new_compare24(ywz50, ywz40, new_esEs7(ywz50, ywz40, h, ba), h, ba)
new_esEs8(LT, LT) → True
new_esEs8(GT, LT) → False
new_esEs8(EQ, LT) → False
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Integer, ca) → new_esEs14(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Right(ywz4000), de, ca) → False
new_esEs7(Right(ywz5000), Left(ywz4000), de, ca) → False
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(ty_@2, ea), eb)) → new_esEs5(ywz5000, ywz4000, ea, eb)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Int, ca) → new_esEs11(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_@2, ce), cf), ca) → new_esEs5(ywz5000, ywz4000, ce, cf)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Ordering, ca) → new_esEs8(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(app(ty_@3, ee), ef), eg)) → new_esEs6(ywz5000, ywz4000, ee, ef, eg)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_Ratio, dh)) → new_esEs13(ywz5000, ywz4000, dh)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Ratio, cd), ca) → new_esEs13(ywz5000, ywz4000, cd)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_[], df)) → new_esEs12(ywz5000, ywz4000, df)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_[], cb), ca) → new_esEs12(ywz5000, ywz4000, cb)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Double, ca) → new_esEs16(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Float, ca) → new_esEs18(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, db), dc), dd), ca) → new_esEs6(ywz5000, ywz4000, db, dc, dd)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Bool, ca) → new_esEs17(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_@0, ca) → new_esEs19(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Char, ca) → new_esEs15(ywz5000, ywz4000)
new_compare24(Left(ywz500), Left(ywz400), False, h, ba) → new_compare14(ywz500, ywz400, new_ltEs19(ywz500, ywz400, h), h, ba)
new_compare24(Left(ywz500), Right(ywz400), False, h, ba) → LT
new_compare24(ywz50, ywz40, True, h, ba) → EQ
new_compare24(Right(ywz500), Left(ywz400), False, h, ba) → GT
new_compare24(Right(ywz500), Right(ywz400), False, h, ba) → new_compare12(ywz500, ywz400, new_ltEs20(ywz500, ywz400, ba), h, ba)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cg), da), ca) → new_esEs7(ywz5000, ywz4000, cg, da)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhh), caa)) → new_esEs7(ywz5000, ywz4000, bhh, caa)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bhd)) → new_esEs4(ywz5000, ywz4000, bhd)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(ty_Either, ec), ed)) → new_esEs7(ywz5000, ywz4000, ec, ed)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Maybe, cc), ca) → new_esEs4(ywz5000, ywz4000, cc)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_Maybe, dg)) → new_esEs4(ywz5000, ywz4000, dg)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs4(Nothing, Just(ywz4000), bfe) → False
new_esEs4(Just(ywz5000), Nothing, bfe) → False
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cab), cac), cad)) → new_esEs6(ywz5000, ywz4000, cab, cac, cad)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_[], bhc)) → new_esEs12(ywz5000, ywz4000, bhc)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bhf), bhg)) → new_esEs5(ywz5000, ywz4000, bhf, bhg)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs4(Nothing, Nothing, bfe) → True
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhe)) → new_esEs13(ywz5000, ywz4000, bhe)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs15(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_esEs19(@0, @0) → True
new_esEs11(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs16(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_sr(ywz5000, ywz4000) → new_primMulInt(ywz5000, ywz4000)
new_primMulInt(Pos(ywz50000), Pos(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Neg(ywz50000), Neg(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Neg(ywz50000), Pos(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Pos(ywz50000), Neg(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(ywz500000), Succ(ywz400000)) → new_primPlusNat1(new_primMulNat0(ywz500000, Succ(ywz400000)), ywz400000)
new_primMulNat0(Succ(ywz500000), Zero) → Zero
new_primMulNat0(Zero, Succ(ywz400000)) → Zero
new_primPlusNat1(Zero, ywz400000) → Succ(ywz400000)
new_primPlusNat1(Succ(ywz2480), ywz400000) → Succ(Succ(new_primPlusNat0(ywz2480, ywz400000)))
new_primPlusNat0(Zero, Succ(ywz4000000)) → Succ(ywz4000000)
new_primPlusNat0(Succ(ywz24800), Zero) → Succ(ywz24800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(ywz24800), Succ(ywz4000000)) → Succ(Succ(new_primPlusNat0(ywz24800, ywz4000000)))
new_esEs13(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), bff) → new_asAs(new_esEs24(ywz5000, ywz4000, bff), new_esEs23(ywz5001, ywz4001, bff))
new_esEs24(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs24(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs23(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs23(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_asAs(False, ywz142) → False
new_asAs(True, ywz142) → ywz142
new_esEs14(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_esEs18(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs5(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcg, bch) → new_asAs(new_esEs22(ywz5000, ywz4000, bcg), new_esEs21(ywz5001, ywz4001, bch))
new_esEs22(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_esEs5(ywz5000, ywz4000, bef, beg)
new_esEs22(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_esEs7(ywz5000, ywz4000, beh, bfa)
new_esEs22(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs22(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_esEs4(ywz5000, ywz4000, bed)
new_esEs22(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_esEs13(ywz5000, ywz4000, bee)
new_esEs22(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(ty_[], bec)) → new_esEs12(ywz5000, ywz4000, bec)
new_esEs22(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bdc)) → new_esEs13(ywz5001, ywz4001, bdc)
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bdd), bde)) → new_esEs5(ywz5001, ywz4001, bdd, bde)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_[], bda)) → new_esEs12(ywz5001, ywz4001, bda)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bdf), bdg)) → new_esEs7(ywz5001, ywz4001, bdf, bdg)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bdb)) → new_esEs4(ywz5001, ywz4001, bdb)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bdh), bea), beb)) → new_esEs6(ywz5001, ywz4001, bdh, bea, beb)
new_esEs6(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), eh, fa, fb) → new_asAs(new_esEs27(ywz5000, ywz4000, eh), new_asAs(new_esEs26(ywz5001, ywz4001, fa), new_esEs25(ywz5002, ywz4002, fb)))
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_esEs7(ywz5000, ywz4000, ga, gb)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_esEs13(ywz5000, ywz4000, ff)
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_esEs6(ywz5000, ywz4000, gc, gd, ge)
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_esEs5(ywz5000, ywz4000, fg, fh)
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_esEs4(ywz5000, ywz4000, fd)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_[], fc)) → new_esEs12(ywz5000, ywz4000, fc)
new_esEs26(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_esEs4(ywz5001, ywz4001, gg)
new_esEs26(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_esEs13(ywz5001, ywz4001, gh)
new_esEs26(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_esEs6(ywz5001, ywz4001, he, hf, hg)
new_esEs26(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_esEs7(ywz5001, ywz4001, hc, hd)
new_esEs26(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_esEs5(ywz5001, ywz4001, ha, hb)
new_esEs26(ywz5001, ywz4001, app(ty_[], gf)) → new_esEs12(ywz5001, ywz4001, gf)
new_esEs26(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, ty_Bool) → new_esEs17(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Double) → new_esEs16(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Ordering) → new_esEs8(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(ty_Ratio, bab)) → new_esEs13(ywz5002, ywz4002, bab)
new_esEs25(ywz5002, ywz4002, app(ty_[], hh)) → new_esEs12(ywz5002, ywz4002, hh)
new_esEs25(ywz5002, ywz4002, app(ty_Maybe, baa)) → new_esEs4(ywz5002, ywz4002, baa)
new_esEs25(ywz5002, ywz4002, ty_@0) → new_esEs19(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Float) → new_esEs18(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Integer) → new_esEs14(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(app(app(ty_@3, bag), bah), bba)) → new_esEs6(ywz5002, ywz4002, bag, bah, bba)
new_esEs25(ywz5002, ywz4002, ty_Char) → new_esEs15(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(app(ty_@2, bac), bad)) → new_esEs5(ywz5002, ywz4002, bac, bad)
new_esEs25(ywz5002, ywz4002, ty_Int) → new_esEs11(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(app(ty_Either, bae), baf)) → new_esEs7(ywz5002, ywz4002, bae, baf)
new_esEs12(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bbd) → new_asAs(new_esEs20(ywz5000, ywz4000, bbd), new_esEs12(ywz5001, ywz4001, bbd))
new_esEs12([], [], bbd) → True
new_esEs12(:(ywz5000, ywz5001), [], bbd) → False
new_esEs12([], :(ywz4000, ywz4001), bbd) → False
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bbf)) → new_esEs4(ywz5000, ywz4000, bbf)
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bbg)) → new_esEs13(ywz5000, ywz4000, bbg)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, bbh), bca)) → new_esEs5(ywz5000, ywz4000, bbh, bca)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bcd), bce), bcf)) → new_esEs6(ywz5000, ywz4000, bcd, bce, bcf)
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_[], bbe)) → new_esEs12(ywz5000, ywz4000, bbe)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, bcb), bcc)) → new_esEs7(ywz5000, ywz4000, bcb, bcc)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs8(GT, GT) → True
new_esEs8(LT, GT) → False
new_esEs8(EQ, EQ) → True
new_esEs8(LT, EQ) → False
new_esEs8(EQ, GT) → False
new_esEs8(GT, EQ) → False
new_esEs17(True, True) → True
new_esEs17(False, False) → True
new_esEs17(False, True) → False
new_esEs17(True, False) → False
new_ltEs20(ywz500, ywz400, app(ty_Ratio, bga)) → new_ltEs9(ywz500, ywz400, bga)
new_ltEs20(ywz500, ywz400, app(ty_[], bfg)) → new_ltEs7(ywz500, ywz400, bfg)
new_ltEs20(ywz500, ywz400, app(ty_Maybe, bfh)) → new_ltEs8(ywz500, ywz400, bfh)
new_ltEs20(ywz500, ywz400, app(app(ty_Either, bgd), bge)) → new_ltEs4(ywz500, ywz400, bgd, bge)
new_ltEs20(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, app(app(app(ty_@3, bgf), bgg), bgh)) → new_ltEs17(ywz500, ywz400, bgf, bgg, bgh)
new_ltEs20(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, app(app(ty_@2, bgb), bgc)) → new_ltEs10(ywz500, ywz400, bgb, bgc)
new_compare12(ywz154, ywz155, False, bbb, bbc) → GT
new_compare12(ywz154, ywz155, True, bbb, bbc) → LT
new_ltEs10(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcg, bch) → new_pePe(new_lt20(ywz5000, ywz4000, bcg), new_asAs(new_esEs28(ywz5000, ywz4000, bcg), new_ltEs21(ywz5001, ywz4001, bch)))
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(ty_[], bec)) → new_lt9(ywz5000, ywz4000, bec)
new_lt20(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_lt11(ywz5000, ywz4000, bee)
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_lt16(ywz5000, ywz4000, beh, bfa)
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_lt12(ywz5000, ywz4000, bef, beg)
new_lt20(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_lt10(ywz5000, ywz4000, bed)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_lt19(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs28(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_esEs4(ywz5000, ywz4000, bed)
new_esEs28(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_esEs7(ywz5000, ywz4000, beh, bfa)
new_esEs28(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_esEs5(ywz5000, ywz4000, bef, beg)
new_esEs28(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs28(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_esEs13(ywz5000, ywz4000, bee)
new_esEs28(ywz5000, ywz4000, app(ty_[], bec)) → new_esEs12(ywz5000, ywz4000, bec)
new_esEs28(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, app(app(app(ty_@3, bdh), bea), beb)) → new_ltEs17(ywz5001, ywz4001, bdh, bea, beb)
new_ltEs21(ywz5001, ywz4001, ty_Int) → new_ltEs5(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Double) → new_ltEs13(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, app(ty_[], bda)) → new_ltEs7(ywz5001, ywz4001, bda)
new_ltEs21(ywz5001, ywz4001, app(app(ty_Either, bdf), bdg)) → new_ltEs4(ywz5001, ywz4001, bdf, bdg)
new_ltEs21(ywz5001, ywz4001, ty_Char) → new_ltEs12(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, app(ty_Ratio, bdc)) → new_ltEs9(ywz5001, ywz4001, bdc)
new_ltEs21(ywz5001, ywz4001, app(ty_Maybe, bdb)) → new_ltEs8(ywz5001, ywz4001, bdb)
new_ltEs21(ywz5001, ywz4001, ty_@0) → new_ltEs16(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Integer) → new_ltEs11(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Bool) → new_ltEs14(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, app(app(ty_@2, bdd), bde)) → new_ltEs10(ywz5001, ywz4001, bdd, bde)
new_ltEs21(ywz5001, ywz4001, ty_Ordering) → new_ltEs6(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Float) → new_ltEs15(ywz5001, ywz4001)
new_pePe(False, ywz225) → ywz225
new_pePe(True, ywz225) → True
new_ltEs15(ywz500, ywz400) → new_not(new_esEs8(new_compare10(ywz500, ywz400), GT))
new_compare10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_not(False) → True
new_not(True) → False
new_compare8(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat1(ywz50000, ywz4000)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat2(ywz4000, ywz50000)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat2(Zero, ywz40000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat1(ywz40000, Zero)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_primCmpNat1(ywz50000, Zero) → GT
new_primCmpNat2(Zero, ywz50000) → LT
new_primCmpNat2(Succ(ywz40000), ywz50000) → new_primCmpNat0(ywz40000, ywz50000)
new_primCmpNat0(Zero, Succ(ywz400000)) → LT
new_primCmpNat0(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat0(ywz500000, ywz400000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(ywz500000), Zero) → GT
new_primCmpNat1(ywz50000, Succ(ywz40000)) → new_primCmpNat0(ywz50000, ywz40000)
new_ltEs6(GT, EQ) → False
new_ltEs6(EQ, GT) → True
new_ltEs6(EQ, EQ) → True
new_ltEs6(GT, GT) → True
new_ltEs6(LT, LT) → True
new_ltEs6(EQ, LT) → False
new_ltEs6(LT, GT) → True
new_ltEs6(LT, EQ) → True
new_ltEs6(GT, LT) → False
new_ltEs14(False, True) → True
new_ltEs14(False, False) → True
new_ltEs14(True, True) → True
new_ltEs14(True, False) → False
new_ltEs11(ywz500, ywz400) → new_not(new_esEs8(new_compare9(ywz500, ywz400), GT))
new_compare9(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_ltEs16(ywz500, ywz400) → new_not(new_esEs8(new_compare28(ywz500, ywz400), GT))
new_compare28(@0, @0) → EQ
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhe)) → new_ltEs9(ywz5000, ywz4000, bhe)
new_ltEs8(Nothing, Just(ywz4000), bfe) → True
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_[], bhc)) → new_ltEs7(ywz5000, ywz4000, bhc)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cab), cac), cad)) → new_ltEs17(ywz5000, ywz4000, cab, cac, cad)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Nothing, bfe) → False
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, cc), ca) → new_ltEs8(ywz5000, ywz4000, cc)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bhd)) → new_ltEs8(ywz5000, ywz4000, bhd)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(ty_Either, ec), ed)) → new_ltEs4(ywz5000, ywz4000, ec, ed)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cg), da), ca) → new_ltEs4(ywz5000, ywz4000, cg, da)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_Maybe, dg)) → new_ltEs8(ywz5000, ywz4000, dg)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhh), caa)) → new_ltEs4(ywz5000, ywz4000, bhh, caa)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_ltEs8(Nothing, Nothing, bfe) → True
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bhf), bhg)) → new_ltEs10(ywz5000, ywz4000, bhf, bhg)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_ltEs12(ywz500, ywz400) → new_not(new_esEs8(new_compare5(ywz500, ywz400), GT))
new_compare5(Char(ywz5000), Char(ywz4000)) → new_primCmpNat0(ywz5000, ywz4000)
new_ltEs5(ywz500, ywz400) → new_not(new_esEs8(new_compare8(ywz500, ywz400), GT))
new_ltEs13(ywz500, ywz400) → new_not(new_esEs8(new_compare15(ywz500, ywz400), GT))
new_compare15(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Int, ca) → new_ltEs5(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Double, ca) → new_ltEs13(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, ce), cf), ca) → new_ltEs10(ywz5000, ywz4000, ce, cf)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Char, ca) → new_ltEs12(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, db), dc), dd), ca) → new_ltEs17(ywz5000, ywz4000, db, dc, dd)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, ca) → new_ltEs6(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Right(ywz4000), de, ca) → True
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Bool, ca) → new_ltEs14(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, cd), ca) → new_ltEs9(ywz5000, ywz4000, cd)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_@0, ca) → new_ltEs16(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(app(ty_@3, ee), ef), eg)) → new_ltEs17(ywz5000, ywz4000, ee, ef, eg)
new_ltEs4(Right(ywz5000), Left(ywz4000), de, ca) → False
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_Ratio, dh)) → new_ltEs9(ywz5000, ywz4000, dh)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(ty_@2, ea), eb)) → new_ltEs10(ywz5000, ywz4000, ea, eb)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Float, ca) → new_ltEs15(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_[], cb), ca) → new_ltEs7(ywz5000, ywz4000, cb)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_[], df)) → new_ltEs7(ywz5000, ywz4000, df)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Integer, ca) → new_ltEs11(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, bbd) → new_not(new_esEs8(new_compare0(ywz500, ywz400, bbd), GT))
new_compare0([], [], bbd) → EQ
new_compare0(:(ywz5000, ywz5001), [], bbd) → GT
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bbd) → new_primCompAux1(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, bbd), bbd)
new_compare0([], :(ywz4000, ywz4001), bbd) → LT
new_primCompAux1(ywz5000, ywz4000, ywz290, bbd) → new_primCompAux0(ywz290, new_compare31(ywz5000, ywz4000, bbd))
new_compare31(ywz5000, ywz4000, ty_Double) → new_compare15(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Int) → new_compare8(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Ordering) → new_compare16(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(app(ty_Either, bcb), bcc)) → new_compare18(ywz5000, ywz4000, bcb, bcc)
new_compare31(ywz5000, ywz4000, ty_@0) → new_compare28(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_Maybe, bbf)) → new_compare32(ywz5000, ywz4000, bbf)
new_compare31(ywz5000, ywz4000, app(app(app(ty_@3, bcd), bce), bcf)) → new_compare17(ywz5000, ywz4000, bcd, bce, bcf)
new_compare31(ywz5000, ywz4000, ty_Bool) → new_compare6(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(app(ty_@2, bbh), bca)) → new_compare30(ywz5000, ywz4000, bbh, bca)
new_compare31(ywz5000, ywz4000, ty_Integer) → new_compare9(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_Ratio, bbg)) → new_compare7(ywz5000, ywz4000, bbg)
new_compare31(ywz5000, ywz4000, ty_Char) → new_compare5(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_[], bbe)) → new_compare0(ywz5000, ywz4000, bbe)
new_compare31(ywz5000, ywz4000, ty_Float) → new_compare10(ywz5000, ywz4000)
new_primCompAux0(ywz333, GT) → GT
new_primCompAux0(ywz333, LT) → LT
new_primCompAux0(ywz333, EQ) → ywz333
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare8(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare9(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_sr0(Integer(ywz50000), Integer(ywz40010)) → Integer(new_primMulInt(ywz50000, ywz40010))
new_compare30(ywz5000, ywz4000, bef, beg) → new_compare27(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bef, beg), bef, beg)
new_compare27(ywz5000, ywz4000, True, bef, beg) → EQ
new_compare27(ywz5000, ywz4000, False, bef, beg) → new_compare19(ywz5000, ywz4000, new_ltEs10(ywz5000, ywz4000, bef, beg), bef, beg)
new_compare19(ywz5000, ywz4000, True, bef, beg) → LT
new_compare19(ywz5000, ywz4000, False, bef, beg) → GT
new_compare6(ywz5000, ywz4000) → new_compare25(ywz5000, ywz4000, new_esEs17(ywz5000, ywz4000))
new_compare25(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs14(ywz5000, ywz4000))
new_compare25(ywz5000, ywz4000, True) → EQ
new_compare11(ywz5000, ywz4000, False) → GT
new_compare11(ywz5000, ywz4000, True) → LT
new_compare17(ywz5000, ywz4000, bfb, bfc, bfd) → new_compare210(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd), bfb, bfc, bfd)
new_compare210(ywz5000, ywz4000, True, bfb, bfc, bfd) → EQ
new_compare210(ywz5000, ywz4000, False, bfb, bfc, bfd) → new_compare111(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000, bfb, bfc, bfd), bfb, bfc, bfd)
new_ltEs17(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), eh, fa, fb) → new_pePe(new_lt5(ywz5000, ywz4000, eh), new_asAs(new_esEs10(ywz5000, ywz4000, eh), new_pePe(new_lt6(ywz5001, ywz4001, fa), new_asAs(new_esEs9(ywz5001, ywz4001, fa), new_ltEs18(ywz5002, ywz4002, fb)))))
new_compare111(ywz5000, ywz4000, True, bfb, bfc, bfd) → LT
new_compare111(ywz5000, ywz4000, False, bfb, bfc, bfd) → GT
new_lt5(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_lt19(ywz5000, ywz4000, gc, gd, ge)
new_lt5(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_lt16(ywz5000, ywz4000, ga, gb)
new_lt5(ywz5000, ywz4000, app(ty_[], fc)) → new_lt9(ywz5000, ywz4000, fc)
new_lt5(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_lt11(ywz5000, ywz4000, ff)
new_lt5(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_lt12(ywz5000, ywz4000, fg, fh)
new_lt5(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_lt10(ywz5000, ywz4000, fd)
new_lt5(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(ty_[], fc)) → new_esEs12(ywz5000, ywz4000, fc)
new_esEs10(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_esEs7(ywz5000, ywz4000, ga, gb)
new_esEs10(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_esEs5(ywz5000, ywz4000, fg, fh)
new_esEs10(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_esEs6(ywz5000, ywz4000, gc, gd, ge)
new_esEs10(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_esEs13(ywz5000, ywz4000, ff)
new_esEs10(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_esEs4(ywz5000, ywz4000, fd)
new_esEs10(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, ty_Bool) → new_lt4(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, ty_Char) → new_lt14(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, ty_Ordering) → new_lt8(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_lt11(ywz5001, ywz4001, gh)
new_lt6(ywz5001, ywz4001, ty_Float) → new_lt17(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, ty_Double) → new_lt15(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(ty_[], gf)) → new_lt9(ywz5001, ywz4001, gf)
new_lt6(ywz5001, ywz4001, ty_Integer) → new_lt13(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_lt19(ywz5001, ywz4001, he, hf, hg)
new_lt6(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_lt10(ywz5001, ywz4001, gg)
new_lt6(ywz5001, ywz4001, ty_Int) → new_lt7(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_lt16(ywz5001, ywz4001, hc, hd)
new_lt6(ywz5001, ywz4001, ty_@0) → new_lt18(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_lt12(ywz5001, ywz4001, ha, hb)
new_esEs9(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(ty_[], gf)) → new_esEs12(ywz5001, ywz4001, gf)
new_esEs9(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_esEs13(ywz5001, ywz4001, gh)
new_esEs9(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_esEs5(ywz5001, ywz4001, ha, hb)
new_esEs9(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_esEs4(ywz5001, ywz4001, gg)
new_esEs9(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_esEs6(ywz5001, ywz4001, he, hf, hg)
new_esEs9(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_esEs7(ywz5001, ywz4001, hc, hd)
new_ltEs18(ywz5002, ywz4002, ty_Float) → new_ltEs15(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(ty_Ratio, bab)) → new_ltEs9(ywz5002, ywz4002, bab)
new_ltEs18(ywz5002, ywz4002, app(ty_[], hh)) → new_ltEs7(ywz5002, ywz4002, hh)
new_ltEs18(ywz5002, ywz4002, ty_Double) → new_ltEs13(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Int) → new_ltEs5(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Ordering) → new_ltEs6(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(app(ty_@2, bac), bad)) → new_ltEs10(ywz5002, ywz4002, bac, bad)
new_ltEs18(ywz5002, ywz4002, ty_@0) → new_ltEs16(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Integer) → new_ltEs11(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(app(ty_Either, bae), baf)) → new_ltEs4(ywz5002, ywz4002, bae, baf)
new_ltEs18(ywz5002, ywz4002, app(app(app(ty_@3, bag), bah), bba)) → new_ltEs17(ywz5002, ywz4002, bag, bah, bba)
new_ltEs18(ywz5002, ywz4002, ty_Bool) → new_ltEs14(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Char) → new_ltEs12(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(ty_Maybe, baa)) → new_ltEs8(ywz5002, ywz4002, baa)
new_ltEs9(ywz500, ywz400, bff) → new_not(new_esEs8(new_compare7(ywz500, ywz400, bff), GT))
new_lt12(ywz5000, ywz4000, bef, beg) → new_esEs8(new_compare30(ywz5000, ywz4000, bef, beg), LT)
new_lt18(ywz5000, ywz4000) → new_esEs8(new_compare28(ywz5000, ywz4000), LT)
new_lt7(ywz5000, ywz4000) → new_esEs8(new_compare8(ywz5000, ywz4000), LT)
new_lt10(ywz5000, ywz4000, bed) → new_esEs8(new_compare32(ywz5000, ywz4000, bed), LT)
new_compare32(ywz5000, ywz4000, bed) → new_compare29(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, bed), bed)
new_compare29(ywz5000, ywz4000, False, bed) → new_compare110(ywz5000, ywz4000, new_ltEs8(ywz5000, ywz4000, bed), bed)
new_compare29(ywz5000, ywz4000, True, bed) → EQ
new_compare110(ywz5000, ywz4000, True, bed) → LT
new_compare110(ywz5000, ywz4000, False, bed) → GT
new_lt19(ywz5000, ywz4000, bfb, bfc, bfd) → new_esEs8(new_compare17(ywz5000, ywz4000, bfb, bfc, bfd), LT)
new_lt13(ywz5000, ywz4000) → new_esEs8(new_compare9(ywz5000, ywz4000), LT)
new_lt9(ywz5000, ywz4000, bec) → new_esEs8(new_compare0(ywz5000, ywz4000, bec), LT)
new_lt15(ywz5000, ywz4000) → new_esEs8(new_compare15(ywz5000, ywz4000), LT)
new_lt17(ywz5000, ywz4000) → new_esEs8(new_compare10(ywz5000, ywz4000), LT)
new_lt11(ywz5000, ywz4000, bee) → new_esEs8(new_compare7(ywz5000, ywz4000, bee), LT)
new_lt8(ywz5000, ywz4000) → new_esEs8(new_compare16(ywz5000, ywz4000), LT)
new_compare16(ywz5000, ywz4000) → new_compare26(ywz5000, ywz4000, new_esEs8(ywz5000, ywz4000))
new_compare26(ywz5000, ywz4000, False) → new_compare13(ywz5000, ywz4000, new_ltEs6(ywz5000, ywz4000))
new_compare26(ywz5000, ywz4000, True) → EQ
new_compare13(ywz5000, ywz4000, False) → GT
new_compare13(ywz5000, ywz4000, True) → LT
new_lt14(ywz5000, ywz4000) → new_esEs8(new_compare5(ywz5000, ywz4000), LT)
new_lt4(ywz5000, ywz4000) → new_esEs8(new_compare6(ywz5000, ywz4000), LT)
new_ltEs19(ywz500, ywz400, app(app(ty_Either, de), ca)) → new_ltEs4(ywz500, ywz400, de, ca)
new_ltEs19(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(app(ty_@2, bcg), bch)) → new_ltEs10(ywz500, ywz400, bcg, bch)
new_ltEs19(ywz500, ywz400, app(ty_Ratio, bff)) → new_ltEs9(ywz500, ywz400, bff)
new_ltEs19(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(ty_Maybe, bfe)) → new_ltEs8(ywz500, ywz400, bfe)
new_ltEs19(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(ty_[], bbd)) → new_ltEs7(ywz500, ywz400, bbd)
new_ltEs19(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(app(app(ty_@3, eh), fa), fb)) → new_ltEs17(ywz500, ywz400, eh, fa, fb)
new_ltEs19(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_compare14(ywz147, ywz148, False, bha, bhb) → GT
new_compare14(ywz147, ywz148, True, bha, bhb) → LT
new_esEs30(ywz500, ywz400, app(app(ty_Either, bgd), bge)) → new_esEs7(ywz500, ywz400, bgd, bge)
new_esEs30(ywz500, ywz400, ty_Float) → new_esEs18(ywz500, ywz400)
new_esEs30(ywz500, ywz400, ty_@0) → new_esEs19(ywz500, ywz400)
new_esEs30(ywz500, ywz400, ty_Bool) → new_esEs17(ywz500, ywz400)
new_esEs30(ywz500, ywz400, app(ty_Maybe, bfh)) → new_esEs4(ywz500, ywz400, bfh)
new_esEs30(ywz500, ywz400, app(ty_[], bfg)) → new_esEs12(ywz500, ywz400, bfg)
new_esEs30(ywz500, ywz400, app(app(ty_@2, bgb), bgc)) → new_esEs5(ywz500, ywz400, bgb, bgc)
new_esEs30(ywz500, ywz400, app(ty_Ratio, bga)) → new_esEs13(ywz500, ywz400, bga)
new_esEs30(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_esEs30(ywz500, ywz400, ty_Int) → new_esEs11(ywz500, ywz400)
new_esEs30(ywz500, ywz400, ty_Double) → new_esEs16(ywz500, ywz400)
new_esEs30(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_esEs30(ywz500, ywz400, app(app(app(ty_@3, bgf), bgg), bgh)) → new_esEs6(ywz500, ywz400, bgf, bgg, bgh)
new_esEs30(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)

The set Q consists of the following terms:

new_esEs7(Left(x0), Left(x1), ty_Int, x2)
new_esEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs21(x0, x1, ty_Int)
new_compare24(Right(x0), Right(x1), False, x2, x3)
new_esEs18(Float(x0, x1), Float(x2, x3))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs16(x0, x1)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_primCmpNat1(x0, Succ(x1))
new_esEs20(x0, x1, ty_Double)
new_lt6(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Double)
new_compare27(x0, x1, True, x2, x3)
new_esEs30(x0, x1, ty_Double)
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Int)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt9(x0, x1, x2)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_ltEs21(x0, x1, ty_Ordering)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_primCompAux0(x0, EQ)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, ty_Bool)
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Bool)
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, ty_Ordering)
new_compare15(Double(x0, x1), Double(x2, x3))
new_esEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_lt6(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_primCmpNat0(Succ(x0), Zero)
new_esEs26(x0, x1, app(ty_[], x2))
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_lt4(x0, x1)
new_ltEs21(x0, x1, ty_Double)
new_lt10(x0, x1, x2)
new_compare5(Char(x0), Char(x1))
new_ltEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs14(True, False)
new_ltEs14(False, True)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs30(x0, x1, ty_Ordering)
new_esEs30(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Ordering)
new_lt8(x0, x1)
new_esEs8(GT, GT)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(x0, x1, x2)
new_esEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_lt20(x0, x1, app(ty_[], x2))
new_compare14(x0, x1, True, x2, x3)
new_compare30(x0, x1, x2, x3)
new_esEs26(x0, x1, ty_Int)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_Integer)
new_esEs7(Left(x0), Left(x1), ty_Integer, x2)
new_esEs8(LT, LT)
new_esEs26(x0, x1, ty_Float)
new_primPlusNat1(Zero, x0)
new_ltEs19(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_compare27(x0, x1, False, x2, x3)
new_lt20(x0, x1, ty_Int)
new_primEqNat0(Succ(x0), Succ(x1))
new_compare0(:(x0, x1), [], x2)
new_ltEs19(x0, x1, ty_Float)
new_esEs17(False, False)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Integer)
new_esEs7(Right(x0), Right(x1), x2, ty_Float)
new_esEs27(x0, x1, ty_Float)
new_lt5(x0, x1, ty_Int)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_compare210(x0, x1, True, x2, x3, x4)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Bool)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, ty_Bool)
new_ltEs6(EQ, EQ)
new_pePe(False, x0)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_compare12(x0, x1, False, x2, x3)
new_esEs7(Left(x0), Left(x1), ty_Char, x2)
new_esEs8(LT, GT)
new_esEs8(GT, LT)
new_ltEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_compare9(Integer(x0), Integer(x1))
new_pePe(True, x0)
new_esEs28(x0, x1, ty_Int)
new_esEs7(Left(x0), Left(x1), ty_Float, x2)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs4(Just(x0), Just(x1), ty_@0)
new_esEs4(Just(x0), Just(x1), ty_Int)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs6(LT, EQ)
new_ltEs20(x0, x1, ty_@0)
new_ltEs6(EQ, LT)
new_compare7(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_primEqNat0(Zero, Zero)
new_ltEs19(x0, x1, ty_Double)
new_esEs7(Right(x0), Right(x1), x2, ty_Int)
new_ltEs8(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs19(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Bool)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Char)
new_compare26(x0, x1, True)
new_esEs12(:(x0, x1), [], x2)
new_compare110(x0, x1, False, x2)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs4(Right(x0), Right(x1), x2, ty_Integer)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_ltEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_compare29(x0, x1, False, x2)
new_esEs4(Just(x0), Just(x1), app(ty_Ratio, x2))
new_lt6(x0, x1, app(ty_Maybe, x2))
new_compare28(@0, @0)
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs28(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Char)
new_primMulNat0(Zero, Zero)
new_esEs28(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, ty_@0)
new_ltEs21(x0, x1, ty_Float)
new_esEs9(x0, x1, ty_Integer)
new_ltEs10(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt20(x0, x1, ty_@0)
new_esEs30(x0, x1, ty_Char)
new_primCompAux1(x0, x1, x2, x3)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Double)
new_lt6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs19(x0, x1, ty_Int)
new_compare29(x0, x1, True, x2)
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs22(x0, x1, ty_@0)
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_ltEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs9(x0, x1, ty_Bool)
new_esEs4(Just(x0), Just(x1), ty_Float)
new_lt5(x0, x1, ty_@0)
new_esEs10(x0, x1, ty_Ordering)
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_esEs12([], :(x0, x1), x2)
new_ltEs8(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs7(Left(x0), Left(x1), ty_Double, x2)
new_esEs28(x0, x1, ty_Integer)
new_lt6(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Double)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs8(Nothing, Nothing, x0)
new_esEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs20(x0, x1, ty_@0)
new_esEs25(x0, x1, ty_Int)
new_ltEs20(x0, x1, ty_Int)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, ty_Char)
new_compare24(Left(x0), Right(x1), False, x2, x3)
new_compare24(Right(x0), Left(x1), False, x2, x3)
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs18(x0, x1, ty_Char)
new_esEs21(x0, x1, ty_Integer)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs30(x0, x1, ty_Bool)
new_asAs(False, x0)
new_esEs25(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, ty_Char)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_primMulNat0(Succ(x0), Succ(x1))
new_ltEs4(Right(x0), Right(x1), x2, ty_@0)
new_esEs22(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), ty_Double)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, ty_Ordering)
new_primCmpNat1(x0, Zero)
new_primCmpNat2(Zero, x0)
new_ltEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs11(x0, x1)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_primPlusNat0(Zero, Zero)
new_esEs12(:(x0, x1), :(x2, x3), x4)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Ordering)
new_lt6(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare13(x0, x1, True)
new_compare12(x0, x1, True, x2, x3)
new_lt6(x0, x1, ty_Float)
new_sr(x0, x1)
new_ltEs8(Just(x0), Just(x1), ty_Int)
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_compare14(x0, x1, False, x2, x3)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_esEs30(x0, x1, app(ty_[], x2))
new_compare7(:%(x0, x1), :%(x2, x3), ty_Int)
new_ltEs4(Left(x0), Left(x1), ty_Int, x2)
new_esEs4(Just(x0), Just(x1), ty_Ordering)
new_primMulNat0(Zero, Succ(x0))
new_ltEs18(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_compare8(x0, x1)
new_lt12(x0, x1, x2, x3)
new_compare31(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Bool)
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs8(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Ordering)
new_esEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs5(x0, x1)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, ty_Double)
new_lt15(x0, x1)
new_ltEs20(x0, x1, ty_Ordering)
new_lt6(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs8(Just(x0), Just(x1), ty_Bool)
new_ltEs4(Left(x0), Left(x1), ty_Integer, x2)
new_primPlusNat0(Succ(x0), Succ(x1))
new_esEs7(Right(x0), Right(x1), x2, ty_Double)
new_lt6(x0, x1, ty_Integer)
new_ltEs8(Just(x0), Just(x1), app(ty_[], x2))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_Bool, x2)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Float)
new_ltEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs4(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_ltEs8(Just(x0), Just(x1), ty_Double)
new_esEs4(Just(x0), Just(x1), app(ty_[], x2))
new_esEs14(Integer(x0), Integer(x1))
new_ltEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs25(x0, x1, ty_Float)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primMulNat0(Succ(x0), Zero)
new_esEs10(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Double)
new_esEs16(Double(x0, x1), Double(x2, x3))
new_compare24(x0, x1, True, x2, x3)
new_compare6(x0, x1)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_compare32(x0, x1, x2)
new_lt5(x0, x1, ty_Bool)
new_lt13(x0, x1)
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCompAux0(x0, LT)
new_lt18(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs8(EQ, EQ)
new_compare13(x0, x1, False)
new_primPlusNat0(Zero, Succ(x0))
new_ltEs8(Just(x0), Just(x1), ty_Ordering)
new_ltEs19(x0, x1, ty_Integer)
new_esEs4(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs10(x0, x1, ty_Float)
new_lt17(x0, x1)
new_esEs4(Nothing, Just(x0), x1)
new_esEs22(x0, x1, ty_Int)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_compare19(x0, x1, False, x2, x3)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Char)
new_esEs7(Right(x0), Right(x1), x2, ty_Bool)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_compare24(Left(x0), Left(x1), False, x2, x3)
new_esEs11(x0, x1)
new_lt5(x0, x1, ty_Integer)
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_sr0(Integer(x0), Integer(x1))
new_lt6(x0, x1, ty_Bool)
new_esEs9(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Double)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs12(x0, x1)
new_esEs22(x0, x1, ty_Bool)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, ty_Float)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Integer)
new_ltEs8(Nothing, Just(x0), x1)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs30(x0, x1, ty_@0)
new_esEs4(Nothing, Nothing, x0)
new_ltEs8(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs20(x0, x1, ty_Float)
new_ltEs4(Left(x0), Left(x1), ty_Float, x2)
new_compare18(x0, x1, x2, x3)
new_ltEs6(GT, GT)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_primMulInt(Neg(x0), Neg(x1))
new_lt5(x0, x1, app(ty_Maybe, x2))
new_esEs8(GT, EQ)
new_esEs8(EQ, GT)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, app(ty_Ratio, x2))
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_lt6(x0, x1, ty_Double)
new_lt6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_compare17(x0, x1, x2, x3, x4)
new_esEs24(x0, x1, ty_Integer)
new_primCmpNat0(Zero, Zero)
new_esEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs10(x0, x1, ty_@0)
new_ltEs6(LT, LT)
new_esEs26(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_@0)
new_esEs28(x0, x1, ty_Ordering)
new_ltEs21(x0, x1, app(ty_[], x2))
new_ltEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs18(x0, x1, app(ty_[], x2))
new_compare111(x0, x1, False, x2, x3, x4)
new_esEs25(x0, x1, ty_Integer)
new_lt16(x0, x1, x2, x3)
new_primCmpNat0(Zero, Succ(x0))
new_ltEs9(x0, x1, x2)
new_esEs7(Right(x0), Right(x1), x2, ty_Integer)
new_esEs22(x0, x1, ty_Char)
new_compare31(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Char)
new_ltEs8(Just(x0), Just(x1), ty_@0)
new_primPlusNat0(Succ(x0), Zero)
new_esEs7(Right(x0), Right(x1), x2, ty_Char)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs4(Left(x0), Left(x1), ty_Char, x2)
new_lt19(x0, x1, x2, x3, x4)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs22(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_ltEs8(Just(x0), Just(x1), ty_Integer)
new_ltEs21(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Int)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs4(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_compare210(x0, x1, False, x2, x3, x4)
new_lt14(x0, x1)
new_compare25(x0, x1, True)
new_ltEs14(True, True)
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs14(False, False)
new_lt11(x0, x1, x2)
new_compare111(x0, x1, True, x2, x3, x4)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Double)
new_ltEs4(Right(x0), Right(x1), x2, ty_Int)
new_compare19(x0, x1, True, x2, x3)
new_esEs22(x0, x1, ty_Float)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_compare10(Float(x0, x1), Float(x2, x3))
new_esEs24(x0, x1, ty_Int)
new_not(True)
new_ltEs8(Just(x0), Just(x1), ty_Float)
new_esEs27(x0, x1, ty_Char)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs21(x0, x1, ty_@0)
new_esEs21(x0, x1, ty_@0)
new_esEs7(Right(x0), Right(x1), x2, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_esEs4(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Double)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_not(False)
new_compare31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt6(x0, x1, ty_Char)
new_ltEs4(Left(x0), Right(x1), x2, x3)
new_lt6(x0, x1, app(ty_Ratio, x2))
new_ltEs4(Right(x0), Left(x1), x2, x3)
new_esEs4(Just(x0), Just(x1), ty_Integer)
new_esEs26(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_@0)
new_compare25(x0, x1, False)
new_esEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs6(EQ, GT)
new_ltEs6(GT, EQ)
new_esEs13(:%(x0, x1), :%(x2, x3), x4)
new_compare31(x0, x1, ty_Integer)
new_ltEs18(x0, x1, ty_Double)
new_esEs7(Left(x0), Left(x1), ty_@0, x2)
new_esEs9(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_@0)
new_ltEs8(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs13(x0, x1)
new_ltEs4(Left(x0), Left(x1), ty_Double, x2)
new_ltEs8(Just(x0), Just(x1), ty_Char)
new_esEs15(Char(x0), Char(x1))
new_compare16(x0, x1)
new_ltEs15(x0, x1)
new_esEs9(x0, x1, ty_Float)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_asAs(True, x0)
new_esEs8(EQ, LT)
new_esEs8(LT, EQ)
new_esEs7(Left(x0), Left(x1), ty_Bool, x2)
new_compare0([], [], x0)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_primCompAux0(x0, GT)
new_ltEs18(x0, x1, ty_Ordering)
new_esEs9(x0, x1, ty_Int)
new_lt7(x0, x1)
new_ltEs8(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs20(x0, x1, ty_Bool)
new_esEs20(x0, x1, ty_Float)
new_compare31(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_@0)
new_esEs12([], [], x0)
new_esEs30(x0, x1, ty_Integer)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs17(False, True)
new_esEs17(True, False)
new_esEs30(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Char)
new_esEs7(Right(x0), Left(x1), x2, x3)
new_esEs7(Left(x0), Right(x1), x2, x3)
new_compare31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs17(True, True)
new_esEs23(x0, x1, ty_Int)
new_compare26(x0, x1, False)
new_esEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_primEqNat0(Zero, Succ(x0))
new_lt5(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpNat2(Succ(x0), x1)
new_esEs10(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_Bool)
new_esEs28(x0, x1, ty_@0)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_lt5(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare0([], :(x0, x1), x2)
new_esEs19(@0, @0)
new_compare11(x0, x1, False)
new_esEs20(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_Int)
new_compare110(x0, x1, True, x2)
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_esEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_compare11(x0, x1, True)
new_ltEs4(Right(x0), Right(x1), x2, ty_Char)
new_primPlusNat1(Succ(x0), x1)
new_esEs9(x0, x1, ty_@0)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ AND
                                        ↳ QDP
QDP
                                          ↳ UsableRulesProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_splitGT2(ywz48, ywz49, ywz50, ywz51, ywz52, ywz53, True, bc, bd, be) → new_splitGT(ywz52, ywz53, bc, bd, be)
new_splitGT(Branch(ywz440, ywz441, ywz442, ywz443, ywz444), ywz500, h, ba, bb) → new_splitGT3(ywz440, ywz441, ywz442, ywz443, ywz444, Left(ywz500), h, ba, bb)
new_splitGT20(ywz400, ywz41, ywz42, ywz43, Branch(ywz440, ywz441, ywz442, ywz443, ywz444), ywz500, True, h, ba, bb) → new_splitGT3(ywz440, ywz441, ywz442, ywz443, ywz444, Left(ywz500), h, ba, bb)
new_splitGT10(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba, bb) → new_splitGT(ywz43, ywz500, h, ba, bb)
new_splitGT20(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba, bb) → new_splitGT10(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_lt16(Left(ywz500), Right(ywz400), h, ba), h, ba, bb)
new_splitGT3(Left(ywz400), ywz41, ywz42, ywz43, ywz44, Left(ywz500), h, ba, bb) → new_splitGT2(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Left(ywz500), Left(ywz400), new_esEs29(ywz500, ywz400, h), h, ba), GT), h, ba, bb)
new_splitGT1(ywz48, ywz49, ywz50, ywz51, ywz52, ywz53, True, bc, bd, be) → new_splitGT(ywz51, ywz53, bc, bd, be)
new_splitGT3(Right(ywz400), ywz41, ywz42, ywz43, ywz44, Left(ywz500), h, ba, bb) → new_splitGT20(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Left(ywz500), Right(ywz400), False, h, ba), GT), h, ba, bb)
new_splitGT2(ywz48, ywz49, ywz50, ywz51, ywz52, ywz53, False, bc, bd, be) → new_splitGT1(ywz48, ywz49, ywz50, ywz51, ywz52, ywz53, new_lt16(Left(ywz53), Left(ywz48), bc, bd), bc, bd, be)

The TRS R consists of the following rules:

new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bhd)) → new_esEs4(ywz5000, ywz4000, bhd)
new_lt14(ywz5000, ywz4000) → new_esEs8(new_compare5(ywz5000, ywz4000), LT)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cg), da), ca) → new_esEs7(ywz5000, ywz4000, cg, da)
new_compare31(ywz5000, ywz4000, ty_Double) → new_compare15(ywz5000, ywz4000)
new_primCmpNat2(Zero, ywz50000) → LT
new_esEs12(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bbd) → new_asAs(new_esEs20(ywz5000, ywz4000, bbd), new_esEs12(ywz5001, ywz4001, bbd))
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_ltEs11(ywz500, ywz400) → new_not(new_esEs8(new_compare9(ywz500, ywz400), GT))
new_ltEs20(ywz500, ywz400, app(ty_Ratio, bga)) → new_ltEs9(ywz500, ywz400, bga)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Maybe, cc), ca) → new_esEs4(ywz5000, ywz4000, cc)
new_ltEs18(ywz5002, ywz4002, ty_Float) → new_ltEs15(ywz5002, ywz4002)
new_esEs4(Nothing, Just(ywz4000), bfe) → False
new_esEs4(Just(ywz5000), Nothing, bfe) → False
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_compare24(Left(ywz500), Left(ywz400), False, h, ba) → new_compare14(ywz500, ywz400, new_ltEs19(ywz500, ywz400, h), h, ba)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_compare26(ywz5000, ywz4000, False) → new_compare13(ywz5000, ywz4000, new_ltEs6(ywz5000, ywz4000))
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_ltEs20(ywz500, ywz400, app(ty_[], bfg)) → new_ltEs7(ywz500, ywz400, bfg)
new_esEs9(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_compare31(ywz5000, ywz4000, ty_Int) → new_compare8(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Ordering) → new_compare16(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_primMulNat0(Zero, Zero) → Zero
new_lt6(ywz5001, ywz4001, ty_Bool) → new_lt4(ywz5001, ywz4001)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cab), cac), cad)) → new_esEs6(ywz5000, ywz4000, cab, cac, cad)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Int, ca) → new_ltEs5(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bbf)) → new_esEs4(ywz5000, ywz4000, bbf)
new_ltEs21(ywz5001, ywz4001, app(app(app(ty_@3, bdh), bea), beb)) → new_ltEs17(ywz5001, ywz4001, bdh, bea, beb)
new_ltEs10(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcg, bch) → new_pePe(new_lt20(ywz5000, ywz4000, bcg), new_asAs(new_esEs28(ywz5000, ywz4000, bcg), new_ltEs21(ywz5001, ywz4001, bch)))
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_ltEs20(ywz500, ywz400, app(ty_Maybe, bfh)) → new_ltEs8(ywz500, ywz400, bfh)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_lt10(ywz5000, ywz4000, bed) → new_esEs8(new_compare32(ywz5000, ywz4000, bed), LT)
new_ltEs14(False, True) → True
new_esEs25(ywz5002, ywz4002, ty_Bool) → new_esEs17(ywz5002, ywz4002)
new_lt8(ywz5000, ywz4000) → new_esEs8(new_compare16(ywz5000, ywz4000), LT)
new_esEs26(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, ty_Double) → new_esEs16(ywz5002, ywz4002)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Double, ca) → new_ltEs13(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, app(app(ty_Either, bgd), bge)) → new_esEs7(ywz500, ywz400, bgd, bge)
new_compare24(Left(ywz500), Right(ywz400), False, h, ba) → LT
new_ltEs9(ywz500, ywz400, bff) → new_not(new_esEs8(new_compare7(ywz500, ywz400, bff), GT))
new_compare5(Char(ywz5000), Char(ywz4000)) → new_primCmpNat0(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, ce), cf), ca) → new_ltEs10(ywz5000, ywz4000, ce, cf)
new_esEs17(True, True) → True
new_esEs18(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs18(ywz5002, ywz4002, app(ty_Ratio, bab)) → new_ltEs9(ywz5002, ywz4002, bab)
new_esEs12([], [], bbd) → True
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bbg)) → new_esEs13(ywz5000, ywz4000, bbg)
new_ltEs15(ywz500, ywz400) → new_not(new_esEs8(new_compare10(ywz500, ywz400), GT))
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Integer, ca) → new_esEs14(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, ty_Int) → new_ltEs5(ywz5001, ywz4001)
new_esEs22(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_esEs5(ywz5000, ywz4000, bef, beg)
new_lt9(ywz5000, ywz4000, bec) → new_esEs8(new_compare0(ywz5000, ywz4000, bec), LT)
new_esEs26(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, cc), ca) → new_ltEs8(ywz5000, ywz4000, cc)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Char, ca) → new_ltEs12(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs29(ywz500, ywz400, ty_Float) → new_esEs18(ywz500, ywz400)
new_esEs26(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_esEs4(ywz5001, ywz4001, gg)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, db), dc), dd), ca) → new_ltEs17(ywz5000, ywz4000, db, dc, dd)
new_ltEs18(ywz5002, ywz4002, app(ty_[], hh)) → new_ltEs7(ywz5002, ywz4002, hh)
new_primCmpNat1(ywz50000, Succ(ywz40000)) → new_primCmpNat0(ywz50000, ywz40000)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_esEs7(ywz5000, ywz4000, beh, bfa)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs9(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_ltEs19(ywz500, ywz400, app(app(ty_Either, de), ca)) → new_ltEs4(ywz500, ywz400, de, ca)
new_pePe(False, ywz225) → ywz225
new_esEs29(ywz500, ywz400, ty_Double) → new_esEs16(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Right(ywz4000), de, ca) → False
new_esEs7(Right(ywz5000), Left(ywz4000), de, ca) → False
new_esEs12(:(ywz5000, ywz5001), [], bbd) → False
new_esEs12([], :(ywz4000, ywz4001), bbd) → False
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, ca) → new_ltEs6(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_primCmpNat1(ywz50000, Zero) → GT
new_esEs28(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_esEs7(ywz5000, ywz4000, ga, gb)
new_esEs26(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_ltEs20(ywz500, ywz400, app(app(ty_Either, bgd), bge)) → new_ltEs4(ywz500, ywz400, bgd, bge)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhe)) → new_ltEs9(ywz5000, ywz4000, bhe)
new_ltEs6(GT, EQ) → False
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(ty_Either, ec), ed)) → new_ltEs4(ywz5000, ywz4000, ec, ed)
new_esEs22(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs29(ywz500, ywz400, app(ty_Ratio, bff)) → new_esEs13(ywz500, ywz400, bff)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, bbh), bca)) → new_esEs5(ywz5000, ywz4000, bbh, bca)
new_esEs14(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Right(ywz4000), de, ca) → True
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(ty_@2, ea), eb)) → new_esEs5(ywz5000, ywz4000, ea, eb)
new_primCmpNat0(Zero, Succ(ywz400000)) → LT
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Bool, ca) → new_ltEs14(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, ty_Char) → new_lt14(ywz5001, ywz4001)
new_ltEs8(Nothing, Just(ywz4000), bfe) → True
new_ltEs19(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_esEs8(LT, LT) → True
new_lt6(ywz5001, ywz4001, ty_Ordering) → new_lt8(ywz5001, ywz4001)
new_esEs30(ywz500, ywz400, ty_Float) → new_esEs18(ywz500, ywz400)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bdc)) → new_esEs13(ywz5001, ywz4001, bdc)
new_esEs28(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_lt19(ywz5000, ywz4000, gc, gd, ge)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Int, ca) → new_esEs11(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, cd), ca) → new_ltEs9(ywz5000, ywz4000, cd)
new_esEs25(ywz5002, ywz4002, ty_Ordering) → new_esEs8(ywz5002, ywz4002)
new_esEs30(ywz500, ywz400, ty_@0) → new_esEs19(ywz500, ywz400)
new_ltEs18(ywz5002, ywz4002, ty_Double) → new_ltEs13(ywz5002, ywz4002)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_@0, ca) → new_ltEs16(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, app(ty_Ratio, bab)) → new_esEs13(ywz5002, ywz4002, bab)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bcd), bce), bcf)) → new_esEs6(ywz5000, ywz4000, bcd, bce, bcf)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_[], bhc)) → new_ltEs7(ywz5000, ywz4000, bhc)
new_pePe(True, ywz225) → True
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare8(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare9(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_compare0([], [], bbd) → EQ
new_compare14(ywz147, ywz148, False, bha, bhb) → GT
new_ltEs21(ywz5001, ywz4001, ty_Double) → new_ltEs13(ywz5001, ywz4001)
new_primEqNat0(Zero, Zero) → True
new_compare31(ywz5000, ywz4000, app(app(ty_Either, bcb), bcc)) → new_compare18(ywz5000, ywz4000, bcb, bcc)
new_compare26(ywz5000, ywz4000, True) → EQ
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(ty_[], fc)) → new_esEs12(ywz5000, ywz4000, fc)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_@2, ce), cf), ca) → new_esEs5(ywz5000, ywz4000, ce, cf)
new_ltEs21(ywz5001, ywz4001, app(ty_[], bda)) → new_ltEs7(ywz5001, ywz4001, bda)
new_primMulNat0(Succ(ywz500000), Succ(ywz400000)) → new_primPlusNat1(new_primMulNat0(ywz500000, Succ(ywz400000)), ywz400000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_[], bhc)) → new_esEs12(ywz5000, ywz4000, bhc)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cab), cac), cad)) → new_ltEs17(ywz5000, ywz4000, cab, cac, cad)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_esEs13(ywz5001, ywz4001, gh)
new_lt20(ywz5000, ywz4000, app(ty_[], bec)) → new_lt9(ywz5000, ywz4000, bec)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_esEs13(ywz5000, ywz4000, ff)
new_esEs29(ywz500, ywz400, ty_@0) → new_esEs19(ywz500, ywz400)
new_esEs17(False, False) → True
new_esEs17(False, True) → False
new_esEs17(True, False) → False
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Ordering, ca) → new_esEs8(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_lt16(ywz5000, ywz4000, ga, gb)
new_esEs15(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_ltEs18(ywz5002, ywz4002, ty_Int) → new_ltEs5(ywz5002, ywz4002)
new_ltEs19(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(app(ty_@3, ee), ef), eg)) → new_esEs6(ywz5000, ywz4000, ee, ef, eg)
new_sr(ywz5000, ywz4000) → new_primMulInt(ywz5000, ywz4000)
new_compare12(ywz154, ywz155, False, bbb, bbc) → GT
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, ty_Bool) → new_esEs17(ywz500, ywz400)
new_lt5(ywz5000, ywz4000, app(ty_[], fc)) → new_lt9(ywz5000, ywz4000, fc)
new_esEs26(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_ltEs6(EQ, GT) → True
new_esEs8(GT, GT) → True
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_ltEs18(ywz5002, ywz4002, ty_Ordering) → new_ltEs6(ywz5002, ywz4002)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat1(ywz50000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(ty_Either, ec), ed)) → new_esEs7(ywz5000, ywz4000, ec, ed)
new_esEs26(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_esEs6(ywz5001, ywz4001, he, hf, hg)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_compare25(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs14(ywz5000, ywz4000))
new_esEs8(LT, GT) → False
new_esEs8(GT, LT) → False
new_lt17(ywz5000, ywz4000) → new_esEs8(new_compare10(ywz5000, ywz4000), LT)
new_compare29(ywz5000, ywz4000, False, bed) → new_compare110(ywz5000, ywz4000, new_ltEs8(ywz5000, ywz4000, bed), bed)
new_compare16(ywz5000, ywz4000) → new_compare26(ywz5000, ywz4000, new_esEs8(ywz5000, ywz4000))
new_esEs25(ywz5002, ywz4002, app(ty_[], hh)) → new_esEs12(ywz5002, ywz4002, hh)
new_compare17(ywz5000, ywz4000, bfb, bfc, bfd) → new_compare210(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd), bfb, bfc, bfd)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_compare25(ywz5000, ywz4000, True) → EQ
new_ltEs20(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_lt11(ywz5000, ywz4000, bee)
new_compare6(ywz5000, ywz4000) → new_compare25(ywz5000, ywz4000, new_esEs17(ywz5000, ywz4000))
new_ltEs19(ywz500, ywz400, app(app(ty_@2, bcg), bch)) → new_ltEs10(ywz500, ywz400, bcg, bch)
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs28(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, app(ty_Maybe, bfh)) → new_esEs4(ywz500, ywz400, bfh)
new_lt5(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_compare13(ywz5000, ywz4000, False) → GT
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs28(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_esEs4(ywz5000, ywz4000, bed)
new_ltEs19(ywz500, ywz400, app(ty_Ratio, bff)) → new_ltEs9(ywz500, ywz400, bff)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_Ratio, dh)) → new_esEs13(ywz5000, ywz4000, dh)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_lt13(ywz5000, ywz4000) → new_esEs8(new_compare9(ywz5000, ywz4000), LT)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Ratio, cd), ca) → new_esEs13(ywz5000, ywz4000, cd)
new_esEs9(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_lt11(ywz5001, ywz4001, gh)
new_ltEs6(EQ, EQ) → True
new_ltEs20(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_primCmpNat2(Succ(ywz40000), ywz50000) → new_primCmpNat0(ywz40000, ywz50000)
new_compare8(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cg), da), ca) → new_ltEs4(ywz5000, ywz4000, cg, da)
new_ltEs19(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_primCompAux0(ywz333, GT) → GT
new_esEs8(EQ, EQ) → True
new_primPlusNat1(Zero, ywz400000) → Succ(ywz400000)
new_ltEs6(GT, GT) → True
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_compare24(ywz50, ywz40, True, h, ba) → EQ
new_compare31(ywz5000, ywz4000, ty_@0) → new_compare28(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, app(app(ty_Either, bdf), bdg)) → new_ltEs4(ywz5001, ywz4001, bdf, bdg)
new_compare31(ywz5000, ywz4000, app(ty_Maybe, bbf)) → new_compare32(ywz5000, ywz4000, bbf)
new_esEs19(@0, @0) → True
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_esEs7(ywz5001, ywz4001, hc, hd)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_esEs23(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_ltEs18(ywz5002, ywz4002, app(app(ty_@2, bac), bad)) → new_ltEs10(ywz5002, ywz4002, bac, bad)
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhh), caa)) → new_esEs7(ywz5000, ywz4000, bhh, caa)
new_primCmpNat0(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat0(ywz500000, ywz400000)
new_esEs22(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_esEs4(ywz5000, ywz4000, bed)
new_esEs22(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, app(ty_Maybe, baa)) → new_esEs4(ywz5002, ywz4002, baa)
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_compare27(ywz5000, ywz4000, True, bef, beg) → EQ
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bhf), bhg)) → new_esEs5(ywz5000, ywz4000, bhf, bhg)
new_compare31(ywz5000, ywz4000, app(app(app(ty_@3, bcd), bce), bcf)) → new_compare17(ywz5000, ywz4000, bcd, bce, bcf)
new_ltEs19(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_compare31(ywz5000, ywz4000, ty_Bool) → new_compare6(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_compare12(ywz154, ywz155, True, bbb, bbc) → LT
new_ltEs20(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_ltEs14(False, False) → True
new_esEs16(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_[], df)) → new_esEs12(ywz5000, ywz4000, df)
new_esEs13(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), bff) → new_asAs(new_esEs24(ywz5000, ywz4000, bff), new_esEs23(ywz5001, ywz4001, bff))
new_compare111(ywz5000, ywz4000, True, bfb, bfc, bfd) → LT
new_esEs28(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, ty_@0) → new_esEs19(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_@0) → new_ltEs16(ywz5002, ywz4002)
new_ltEs8(Just(ywz5000), Nothing, bfe) → False
new_ltEs12(ywz500, ywz400) → new_not(new_esEs8(new_compare5(ywz500, ywz400), GT))
new_esEs9(ywz5001, ywz4001, app(ty_[], gf)) → new_esEs12(ywz5001, ywz4001, gf)
new_esEs22(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs28(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs8(LT, EQ) → False
new_esEs8(EQ, LT) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_esEs10(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_esEs7(ywz5000, ywz4000, ga, gb)
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_lt4(ywz5000, ywz4000) → new_esEs8(new_compare6(ywz5000, ywz4000), LT)
new_ltEs18(ywz5002, ywz4002, ty_Integer) → new_ltEs11(ywz5002, ywz4002)
new_primPlusNat0(Zero, Succ(ywz4000000)) → Succ(ywz4000000)
new_primPlusNat0(Succ(ywz24800), Zero) → Succ(ywz24800)
new_esEs5(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcg, bch) → new_asAs(new_esEs22(ywz5000, ywz4000, bcg), new_esEs21(ywz5001, ywz4001, bch))
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(ywz500000), Zero) → GT
new_esEs22(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_compare210(ywz5000, ywz4000, True, bfb, bfc, bfd) → EQ
new_esEs22(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_esEs13(ywz5000, ywz4000, bee)
new_lt6(ywz5001, ywz4001, ty_Float) → new_lt17(ywz5001, ywz4001)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(app(ty_@3, ee), ef), eg)) → new_ltEs17(ywz5000, ywz4000, ee, ef, eg)
new_compare13(ywz5000, ywz4000, True) → LT
new_sr0(Integer(ywz50000), Integer(ywz40010)) → Integer(new_primMulInt(ywz50000, ywz40010))
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_[], cb), ca) → new_esEs12(ywz5000, ywz4000, cb)
new_esEs29(ywz500, ywz400, app(ty_[], bbd)) → new_esEs12(ywz500, ywz400, bbd)
new_ltEs18(ywz5002, ywz4002, app(app(ty_Either, bae), baf)) → new_ltEs4(ywz5002, ywz4002, bae, baf)
new_compare15(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs29(ywz500, ywz400, app(app(ty_@2, bcg), bch)) → new_esEs5(ywz500, ywz400, bcg, bch)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_ltEs20(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_lt6(ywz5001, ywz4001, ty_Double) → new_lt15(ywz5001, ywz4001)
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_esEs20(ywz5000, ywz4000, app(ty_[], bbe)) → new_esEs12(ywz5000, ywz4000, bbe)
new_compare24(Right(ywz500), Left(ywz400), False, h, ba) → GT
new_esEs28(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_esEs7(ywz5000, ywz4000, beh, bfa)
new_compare30(ywz5000, ywz4000, bef, beg) → new_compare27(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bef, beg), bef, beg)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_Maybe, dg)) → new_esEs4(ywz5000, ywz4000, dg)
new_ltEs17(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), eh, fa, fb) → new_pePe(new_lt5(ywz5000, ywz4000, eh), new_asAs(new_esEs10(ywz5000, ywz4000, eh), new_pePe(new_lt6(ywz5001, ywz4001, fa), new_asAs(new_esEs9(ywz5001, ywz4001, fa), new_ltEs18(ywz5002, ywz4002, fb)))))
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, app(ty_[], gf)) → new_lt9(ywz5001, ywz4001, gf)
new_lt5(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_lt16(ywz50, ywz40, h, ba) → new_esEs8(new_compare18(ywz50, ywz40, h, ba), LT)
new_esEs8(EQ, GT) → False
new_esEs8(GT, EQ) → False
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, ty_Integer) → new_lt13(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_esEs5(ywz5001, ywz4001, ha, hb)
new_esEs22(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bdd), bde)) → new_esEs5(ywz5001, ywz4001, bdd, bde)
new_primCompAux0(ywz333, LT) → LT
new_esEs9(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_not(False) → True
new_esEs11(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Left(ywz4000), de, ca) → False
new_ltEs20(ywz500, ywz400, app(app(app(ty_@3, bgf), bgg), bgh)) → new_ltEs17(ywz500, ywz400, bgf, bgg, bgh)
new_compare110(ywz5000, ywz4000, True, bed) → LT
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Double, ca) → new_esEs16(ywz5000, ywz4000)
new_compare210(ywz5000, ywz4000, False, bfb, bfc, bfd) → new_compare111(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000, bfb, bfc, bfd), bfb, bfc, bfd)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, ty_Char) → new_ltEs12(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, ty_Float) → new_esEs18(ywz5002, ywz4002)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_lt16(ywz5000, ywz4000, beh, bfa)
new_esEs9(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs28(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_esEs5(ywz5000, ywz4000, bef, beg)
new_compare0(:(ywz5000, ywz5001), [], bbd) → GT
new_lt6(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_lt19(ywz5001, ywz4001, he, hf, hg)
new_lt7(ywz5000, ywz4000) → new_esEs8(new_compare8(ywz5000, ywz4000), LT)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_Ratio, dh)) → new_ltEs9(ywz5000, ywz4000, dh)
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_compare27(ywz5000, ywz4000, False, bef, beg) → new_compare19(ywz5000, ywz4000, new_ltEs10(ywz5000, ywz4000, bef, beg), bef, beg)
new_esEs30(ywz500, ywz400, app(ty_[], bfg)) → new_esEs12(ywz500, ywz400, bfg)
new_lt6(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_lt10(ywz5001, ywz4001, gg)
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_lt11(ywz5000, ywz4000, ff)
new_primMulInt(Pos(ywz50000), Pos(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_esEs29(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_esEs30(ywz500, ywz400, app(app(ty_@2, bgb), bgc)) → new_esEs5(ywz500, ywz400, bgb, bgc)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs18(ywz5000, ywz4000)
new_ltEs19(ywz500, ywz400, app(ty_Maybe, bfe)) → new_ltEs8(ywz500, ywz400, bfe)
new_primMulInt(Neg(ywz50000), Neg(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_esEs9(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_esEs13(ywz5001, ywz4001, gh)
new_ltEs19(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_esEs29(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(ty_@2, ea), eb)) → new_ltEs10(ywz5000, ywz4000, ea, eb)
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_lt20(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_lt12(ywz5000, ywz4000, bef, beg)
new_primPlusNat0(Zero, Zero) → Zero
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Float, ca) → new_ltEs15(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(ty_[], bda)) → new_esEs12(ywz5001, ywz4001, bda)
new_ltEs6(LT, LT) → True
new_ltEs6(EQ, LT) → False
new_ltEs14(True, True) → True
new_lt20(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_lt10(ywz5000, ywz4000, bed)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_ltEs18(ywz5002, ywz4002, app(app(app(ty_@3, bag), bah), bba)) → new_ltEs17(ywz5002, ywz4002, bag, bah, bba)
new_esEs28(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs4(Nothing, Nothing, bfe) → True
new_ltEs21(ywz5001, ywz4001, app(ty_Ratio, bdc)) → new_ltEs9(ywz5001, ywz4001, bdc)
new_compare111(ywz5000, ywz4000, False, bfb, bfc, bfd) → GT
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhe)) → new_esEs13(ywz5000, ywz4000, bhe)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_esEs6(ywz5000, ywz4000, gc, gd, ge)
new_compare31(ywz5000, ywz4000, app(app(ty_@2, bbh), bca)) → new_compare30(ywz5000, ywz4000, bbh, bca)
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_esEs5(ywz5000, ywz4000, fg, fh)
new_lt5(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_esEs23(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhh), caa)) → new_ltEs4(ywz5000, ywz4000, bhh, caa)
new_esEs10(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_esEs5(ywz5000, ywz4000, fg, fh)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_esEs4(ywz5000, ywz4000, fd)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bdf), bdg)) → new_esEs7(ywz5001, ywz4001, bdf, bdg)
new_primPlusNat1(Succ(ywz2480), ywz400000) → Succ(Succ(new_primPlusNat0(ywz2480, ywz400000)))
new_lt15(ywz5000, ywz4000) → new_esEs8(new_compare15(ywz5000, ywz4000), LT)
new_ltEs21(ywz5001, ywz4001, app(ty_Maybe, bdb)) → new_ltEs8(ywz5001, ywz4001, bdb)
new_lt6(ywz5001, ywz4001, ty_Int) → new_lt7(ywz5001, ywz4001)
new_lt19(ywz5000, ywz4000, bfb, bfc, bfd) → new_esEs8(new_compare17(ywz5000, ywz4000, bfb, bfc, bfd), LT)
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_compare110(ywz5000, ywz4000, False, bed) → GT
new_esEs25(ywz5002, ywz4002, ty_Integer) → new_esEs14(ywz5002, ywz4002)
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bbd) → new_primCompAux1(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, bbd), bbd)
new_compare19(ywz5000, ywz4000, True, bef, beg) → LT
new_ltEs19(ywz500, ywz400, app(ty_[], bbd)) → new_ltEs7(ywz500, ywz400, bbd)
new_compare31(ywz5000, ywz4000, ty_Integer) → new_compare9(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_Ratio, bbg)) → new_compare7(ywz5000, ywz4000, bbg)
new_ltEs5(ywz500, ywz400) → new_not(new_esEs8(new_compare8(ywz500, ywz400), GT))
new_lt6(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_lt16(ywz5001, ywz4001, hc, hd)
new_esEs24(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs9(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_ltEs19(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs21(ywz5001, ywz4001, ty_@0) → new_ltEs16(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bdb)) → new_esEs4(ywz5001, ywz4001, bdb)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, bcb), bcc)) → new_esEs7(ywz5000, ywz4000, bcb, bcc)
new_lt5(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, ty_Integer) → new_ltEs11(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_esEs5(ywz5001, ywz4001, ha, hb)
new_compare29(ywz5000, ywz4000, True, bed) → EQ
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCompAux1(ywz5000, ywz4000, ywz290, bbd) → new_primCompAux0(ywz290, new_compare31(ywz5000, ywz4000, bbd))
new_esEs29(ywz500, ywz400, ty_Bool) → new_esEs17(ywz500, ywz400)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bhd)) → new_ltEs8(ywz5000, ywz4000, bhd)
new_compare18(ywz50, ywz40, h, ba) → new_compare24(ywz50, ywz40, new_esEs7(ywz50, ywz40, h, ba), h, ba)
new_lt5(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Char) → new_compare5(ywz5000, ywz4000)
new_compare9(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_asAs(False, ywz142) → False
new_esEs10(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_esEs6(ywz5000, ywz4000, gc, gd, ge)
new_primMulInt(Neg(ywz50000), Pos(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Pos(ywz50000), Neg(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat2(ywz4000, ywz50000)
new_primMulNat0(Succ(ywz500000), Zero) → Zero
new_primMulNat0(Zero, Succ(ywz400000)) → Zero
new_esEs26(ywz5001, ywz4001, app(ty_[], gf)) → new_esEs12(ywz5001, ywz4001, gf)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_esEs4(ywz5001, ywz4001, gg)
new_esEs29(ywz500, ywz400, ty_Int) → new_esEs11(ywz500, ywz400)
new_ltEs21(ywz5001, ywz4001, ty_Bool) → new_ltEs14(ywz5001, ywz4001)
new_esEs10(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_esEs13(ywz5000, ywz4000, ff)
new_esEs30(ywz500, ywz400, app(ty_Ratio, bga)) → new_esEs13(ywz500, ywz400, bga)
new_lt6(ywz5001, ywz4001, ty_@0) → new_lt18(ywz5001, ywz4001)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Float, ca) → new_esEs18(ywz5000, ywz4000)
new_ltEs18(ywz5002, ywz4002, ty_Bool) → new_ltEs14(ywz5002, ywz4002)
new_compare10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_compare31(ywz5000, ywz4000, app(ty_[], bbe)) → new_compare0(ywz5000, ywz4000, bbe)
new_esEs28(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_ltEs18(ywz5002, ywz4002, ty_Char) → new_ltEs12(ywz5002, ywz4002)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat2(Zero, ywz40000)
new_esEs25(ywz5002, ywz4002, app(app(app(ty_@3, bag), bah), bba)) → new_esEs6(ywz5002, ywz4002, bag, bah, bba)
new_esEs10(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_ltEs6(LT, GT) → True
new_esEs10(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, db), dc), dd), ca) → new_esEs6(ywz5000, ywz4000, db, dc, dd)
new_ltEs21(ywz5001, ywz4001, app(app(ty_@2, bdd), bde)) → new_ltEs10(ywz5001, ywz4001, bdd, bde)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(ty_[], bec)) → new_esEs12(ywz5000, ywz4000, bec)
new_esEs24(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_[], cb), ca) → new_ltEs7(ywz5000, ywz4000, cb)
new_ltEs21(ywz5001, ywz4001, ty_Ordering) → new_ltEs6(ywz5001, ywz4001)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_esEs13(ywz5000, ywz4000, bee)
new_ltEs18(ywz5002, ywz4002, app(ty_Maybe, baa)) → new_ltEs8(ywz5002, ywz4002, baa)
new_ltEs14(True, False) → False
new_esEs25(ywz5002, ywz4002, ty_Char) → new_esEs15(ywz5002, ywz4002)
new_compare11(ywz5000, ywz4000, False) → GT
new_ltEs13(ywz500, ywz400) → new_not(new_esEs8(new_compare15(ywz500, ywz400), GT))
new_lt11(ywz5000, ywz4000, bee) → new_esEs8(new_compare7(ywz5000, ywz4000, bee), LT)
new_lt5(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_lt12(ywz5000, ywz4000, fg, fh)
new_ltEs8(Nothing, Nothing, bfe) → True
new_esEs26(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, app(app(ty_@2, bac), bad)) → new_esEs5(ywz5002, ywz4002, bac, bad)
new_ltEs16(ywz500, ywz400) → new_not(new_esEs8(new_compare28(ywz500, ywz400), GT))
new_compare11(ywz5000, ywz4000, True) → LT
new_ltEs19(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_[], df)) → new_ltEs7(ywz5000, ywz4000, df)
new_esEs9(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_ltEs19(ywz500, ywz400, app(app(app(ty_@3, eh), fa), fb)) → new_ltEs17(ywz500, ywz400, eh, fa, fb)
new_ltEs20(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_esEs29(ywz500, ywz400, app(app(app(ty_@3, eh), fa), fb)) → new_esEs6(ywz500, ywz400, eh, fa, fb)
new_compare14(ywz147, ywz148, True, bha, bhb) → LT
new_esEs29(ywz500, ywz400, app(app(ty_Either, de), ca)) → new_esEs7(ywz500, ywz400, de, ca)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Bool, ca) → new_esEs17(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat1(ywz40000, Zero)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_compare31(ywz5000, ywz4000, ty_Float) → new_compare10(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_primPlusNat0(Succ(ywz24800), Succ(ywz4000000)) → Succ(Succ(new_primPlusNat0(ywz24800, ywz4000000)))
new_esEs9(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_esEs6(ywz5001, ywz4001, he, hf, hg)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_Maybe, dg)) → new_ltEs8(ywz5000, ywz4000, dg)
new_lt5(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_lt10(ywz5000, ywz4000, fd)
new_compare0([], :(ywz4000, ywz4001), bbd) → LT
new_ltEs6(LT, EQ) → True
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bdh), bea), beb)) → new_esEs6(ywz5001, ywz4001, bdh, bea, beb)
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_lt19(ywz5000, ywz4000, bfb, bfc, bfd)
new_ltEs6(GT, LT) → False
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_asAs(True, ywz142) → ywz142
new_esEs28(ywz5000, ywz4000, app(ty_[], bec)) → new_esEs12(ywz5000, ywz4000, bec)
new_esEs27(ywz5000, ywz4000, app(ty_[], fc)) → new_esEs12(ywz5000, ywz4000, fc)
new_esEs25(ywz5002, ywz4002, ty_Int) → new_esEs11(ywz5002, ywz4002)
new_lt12(ywz5000, ywz4000, bef, beg) → new_esEs8(new_compare30(ywz5000, ywz4000, bef, beg), LT)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_@0, ca) → new_esEs19(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Integer, ca) → new_ltEs11(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bhf), bhg)) → new_ltEs10(ywz5000, ywz4000, bhf, bhg)
new_ltEs21(ywz5001, ywz4001, ty_Float) → new_ltEs15(ywz5001, ywz4001)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Char, ca) → new_esEs15(ywz5000, ywz4000)
new_esEs9(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_esEs7(ywz5001, ywz4001, hc, hd)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, ty_Int) → new_esEs11(ywz500, ywz400)
new_esEs26(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, ty_Double) → new_esEs16(ywz500, ywz400)
new_lt5(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, bbd) → new_not(new_esEs8(new_compare0(ywz500, ywz400, bbd), GT))
new_esEs29(ywz500, ywz400, app(ty_Maybe, bfe)) → new_esEs4(ywz500, ywz400, bfe)
new_ltEs20(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_compare32(ywz5000, ywz4000, bed) → new_compare29(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, bed), bed)
new_compare19(ywz5000, ywz4000, False, bef, beg) → GT
new_esEs30(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_esEs28(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, app(app(ty_Either, bae), baf)) → new_esEs7(ywz5002, ywz4002, bae, baf)
new_esEs30(ywz500, ywz400, app(app(app(ty_@3, bgf), bgg), bgh)) → new_esEs6(ywz500, ywz400, bgf, bgg, bgh)
new_lt5(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_lt6(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_lt12(ywz5001, ywz4001, ha, hb)
new_primCompAux0(ywz333, EQ) → ywz333
new_esEs6(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), eh, fa, fb) → new_asAs(new_esEs27(ywz5000, ywz4000, eh), new_asAs(new_esEs26(ywz5001, ywz4001, fa), new_esEs25(ywz5002, ywz4002, fb)))
new_esEs29(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, app(app(ty_@2, bgb), bgc)) → new_ltEs10(ywz500, ywz400, bgb, bgc)
new_ltEs19(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_compare28(@0, @0) → EQ
new_esEs10(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_esEs4(ywz5000, ywz4000, fd)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs10(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_lt18(ywz5000, ywz4000) → new_esEs8(new_compare28(ywz5000, ywz4000), LT)
new_esEs30(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_not(True) → False
new_compare24(Right(ywz500), Right(ywz400), False, h, ba) → new_compare12(ywz500, ywz400, new_ltEs20(ywz500, ywz400, ba), h, ba)

The set Q consists of the following terms:

new_esEs7(Left(x0), Left(x1), ty_Int, x2)
new_esEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs21(x0, x1, ty_Int)
new_compare24(Right(x0), Right(x1), False, x2, x3)
new_esEs18(Float(x0, x1), Float(x2, x3))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs16(x0, x1)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_primCmpNat1(x0, Succ(x1))
new_esEs20(x0, x1, ty_Double)
new_lt6(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Double)
new_compare27(x0, x1, True, x2, x3)
new_esEs30(x0, x1, ty_Double)
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Int)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt9(x0, x1, x2)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_ltEs21(x0, x1, ty_Ordering)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_primCompAux0(x0, EQ)
new_esEs29(x0, x1, ty_Double)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, ty_Bool)
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Bool)
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, ty_Int)
new_esEs22(x0, x1, ty_Ordering)
new_compare15(Double(x0, x1), Double(x2, x3))
new_esEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_lt6(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_primCmpNat0(Succ(x0), Zero)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_lt4(x0, x1)
new_ltEs21(x0, x1, ty_Double)
new_lt10(x0, x1, x2)
new_compare5(Char(x0), Char(x1))
new_esEs29(x0, x1, ty_Ordering)
new_esEs29(x0, x1, ty_Bool)
new_ltEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs14(True, False)
new_ltEs14(False, True)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs30(x0, x1, ty_Ordering)
new_esEs30(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Ordering)
new_lt8(x0, x1)
new_esEs8(GT, GT)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(x0, x1, x2)
new_esEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_lt20(x0, x1, app(ty_[], x2))
new_compare14(x0, x1, True, x2, x3)
new_compare30(x0, x1, x2, x3)
new_esEs26(x0, x1, ty_Int)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_Integer)
new_esEs7(Left(x0), Left(x1), ty_Integer, x2)
new_esEs8(LT, LT)
new_esEs26(x0, x1, ty_Float)
new_primPlusNat1(Zero, x0)
new_ltEs19(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_compare27(x0, x1, False, x2, x3)
new_lt20(x0, x1, ty_Int)
new_primEqNat0(Succ(x0), Succ(x1))
new_compare0(:(x0, x1), [], x2)
new_ltEs19(x0, x1, ty_Float)
new_esEs17(False, False)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Integer)
new_esEs7(Right(x0), Right(x1), x2, ty_Float)
new_esEs27(x0, x1, ty_Float)
new_lt5(x0, x1, ty_Int)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_compare210(x0, x1, True, x2, x3, x4)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Bool)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, ty_Bool)
new_ltEs6(EQ, EQ)
new_pePe(False, x0)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_compare12(x0, x1, False, x2, x3)
new_esEs7(Left(x0), Left(x1), ty_Char, x2)
new_esEs8(LT, GT)
new_esEs8(GT, LT)
new_ltEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_compare9(Integer(x0), Integer(x1))
new_pePe(True, x0)
new_esEs28(x0, x1, ty_Int)
new_esEs7(Left(x0), Left(x1), ty_Float, x2)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs4(Just(x0), Just(x1), ty_@0)
new_esEs4(Just(x0), Just(x1), ty_Int)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs6(LT, EQ)
new_ltEs20(x0, x1, ty_@0)
new_ltEs6(EQ, LT)
new_compare7(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_primEqNat0(Zero, Zero)
new_ltEs19(x0, x1, ty_Double)
new_esEs7(Right(x0), Right(x1), x2, ty_Int)
new_ltEs8(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs19(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Bool)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Char)
new_compare26(x0, x1, True)
new_esEs12(:(x0, x1), [], x2)
new_compare110(x0, x1, False, x2)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs4(Right(x0), Right(x1), x2, ty_Integer)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_ltEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_compare29(x0, x1, False, x2)
new_esEs4(Just(x0), Just(x1), app(ty_Ratio, x2))
new_lt6(x0, x1, app(ty_Maybe, x2))
new_compare28(@0, @0)
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs28(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Char)
new_primMulNat0(Zero, Zero)
new_esEs28(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, ty_@0)
new_ltEs21(x0, x1, ty_Float)
new_esEs9(x0, x1, ty_Integer)
new_ltEs10(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt20(x0, x1, ty_@0)
new_esEs30(x0, x1, ty_Char)
new_primCompAux1(x0, x1, x2, x3)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Double)
new_lt6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs19(x0, x1, ty_Int)
new_compare29(x0, x1, True, x2)
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs22(x0, x1, ty_@0)
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_ltEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs9(x0, x1, ty_Bool)
new_esEs4(Just(x0), Just(x1), ty_Float)
new_lt5(x0, x1, ty_@0)
new_esEs10(x0, x1, ty_Ordering)
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_esEs12([], :(x0, x1), x2)
new_ltEs8(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs7(Left(x0), Left(x1), ty_Double, x2)
new_esEs28(x0, x1, ty_Integer)
new_lt6(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Double)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs8(Nothing, Nothing, x0)
new_esEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs20(x0, x1, ty_@0)
new_esEs25(x0, x1, ty_Int)
new_ltEs20(x0, x1, ty_Int)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, ty_Char)
new_compare24(Left(x0), Right(x1), False, x2, x3)
new_compare24(Right(x0), Left(x1), False, x2, x3)
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs18(x0, x1, ty_Char)
new_esEs21(x0, x1, ty_Integer)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs30(x0, x1, ty_Bool)
new_asAs(False, x0)
new_esEs25(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, ty_Char)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_primMulNat0(Succ(x0), Succ(x1))
new_ltEs4(Right(x0), Right(x1), x2, ty_@0)
new_esEs22(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), ty_Double)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, ty_Ordering)
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_primCmpNat1(x0, Zero)
new_primCmpNat2(Zero, x0)
new_ltEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs11(x0, x1)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_primPlusNat0(Zero, Zero)
new_esEs12(:(x0, x1), :(x2, x3), x4)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Ordering)
new_lt6(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare13(x0, x1, True)
new_compare12(x0, x1, True, x2, x3)
new_lt6(x0, x1, ty_Float)
new_sr(x0, x1)
new_ltEs8(Just(x0), Just(x1), ty_Int)
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_compare14(x0, x1, False, x2, x3)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_esEs30(x0, x1, app(ty_[], x2))
new_compare7(:%(x0, x1), :%(x2, x3), ty_Int)
new_ltEs4(Left(x0), Left(x1), ty_Int, x2)
new_esEs4(Just(x0), Just(x1), ty_Ordering)
new_primMulNat0(Zero, Succ(x0))
new_ltEs18(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_compare8(x0, x1)
new_lt12(x0, x1, x2, x3)
new_esEs29(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Bool)
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs8(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Ordering)
new_esEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs5(x0, x1)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, ty_Double)
new_lt15(x0, x1)
new_ltEs20(x0, x1, ty_Ordering)
new_lt6(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs8(Just(x0), Just(x1), ty_Bool)
new_ltEs4(Left(x0), Left(x1), ty_Integer, x2)
new_primPlusNat0(Succ(x0), Succ(x1))
new_esEs7(Right(x0), Right(x1), x2, ty_Double)
new_lt6(x0, x1, ty_Integer)
new_ltEs8(Just(x0), Just(x1), app(ty_[], x2))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_Bool, x2)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Float)
new_ltEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs4(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_ltEs8(Just(x0), Just(x1), ty_Double)
new_esEs4(Just(x0), Just(x1), app(ty_[], x2))
new_esEs14(Integer(x0), Integer(x1))
new_ltEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs25(x0, x1, ty_Float)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primMulNat0(Succ(x0), Zero)
new_esEs10(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Double)
new_esEs16(Double(x0, x1), Double(x2, x3))
new_compare24(x0, x1, True, x2, x3)
new_compare6(x0, x1)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_compare32(x0, x1, x2)
new_lt5(x0, x1, ty_Bool)
new_lt13(x0, x1)
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCompAux0(x0, LT)
new_lt18(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs8(EQ, EQ)
new_compare13(x0, x1, False)
new_primPlusNat0(Zero, Succ(x0))
new_ltEs8(Just(x0), Just(x1), ty_Ordering)
new_ltEs19(x0, x1, ty_Integer)
new_esEs4(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs10(x0, x1, ty_Float)
new_lt17(x0, x1)
new_esEs4(Nothing, Just(x0), x1)
new_esEs22(x0, x1, ty_Int)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_esEs29(x0, x1, ty_@0)
new_esEs29(x0, x1, app(ty_[], x2))
new_compare19(x0, x1, False, x2, x3)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Char)
new_esEs7(Right(x0), Right(x1), x2, ty_Bool)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_compare24(Left(x0), Left(x1), False, x2, x3)
new_esEs11(x0, x1)
new_lt5(x0, x1, ty_Integer)
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_sr0(Integer(x0), Integer(x1))
new_lt6(x0, x1, ty_Bool)
new_esEs9(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Double)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs12(x0, x1)
new_esEs22(x0, x1, ty_Bool)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, ty_Float)
new_esEs29(x0, x1, ty_Integer)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Integer)
new_ltEs8(Nothing, Just(x0), x1)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs30(x0, x1, ty_@0)
new_esEs4(Nothing, Nothing, x0)
new_ltEs8(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs20(x0, x1, ty_Float)
new_ltEs4(Left(x0), Left(x1), ty_Float, x2)
new_compare18(x0, x1, x2, x3)
new_ltEs6(GT, GT)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, ty_Char)
new_ltEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_primMulInt(Neg(x0), Neg(x1))
new_lt5(x0, x1, app(ty_Maybe, x2))
new_esEs8(GT, EQ)
new_esEs8(EQ, GT)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, app(ty_Ratio, x2))
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_lt6(x0, x1, ty_Double)
new_lt6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_compare17(x0, x1, x2, x3, x4)
new_esEs24(x0, x1, ty_Integer)
new_primCmpNat0(Zero, Zero)
new_esEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_@0)
new_ltEs6(LT, LT)
new_esEs26(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_@0)
new_esEs28(x0, x1, ty_Ordering)
new_ltEs21(x0, x1, app(ty_[], x2))
new_ltEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs18(x0, x1, app(ty_[], x2))
new_compare111(x0, x1, False, x2, x3, x4)
new_esEs25(x0, x1, ty_Integer)
new_lt16(x0, x1, x2, x3)
new_primCmpNat0(Zero, Succ(x0))
new_ltEs9(x0, x1, x2)
new_esEs7(Right(x0), Right(x1), x2, ty_Integer)
new_esEs22(x0, x1, ty_Char)
new_compare31(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Char)
new_ltEs8(Just(x0), Just(x1), ty_@0)
new_primPlusNat0(Succ(x0), Zero)
new_esEs7(Right(x0), Right(x1), x2, ty_Char)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs4(Left(x0), Left(x1), ty_Char, x2)
new_lt19(x0, x1, x2, x3, x4)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs22(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_ltEs8(Just(x0), Just(x1), ty_Integer)
new_ltEs21(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Int)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs4(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_compare210(x0, x1, False, x2, x3, x4)
new_lt14(x0, x1)
new_compare25(x0, x1, True)
new_ltEs14(True, True)
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs14(False, False)
new_lt11(x0, x1, x2)
new_compare111(x0, x1, True, x2, x3, x4)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Double)
new_ltEs4(Right(x0), Right(x1), x2, ty_Int)
new_compare19(x0, x1, True, x2, x3)
new_esEs22(x0, x1, ty_Float)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_compare10(Float(x0, x1), Float(x2, x3))
new_esEs24(x0, x1, ty_Int)
new_not(True)
new_ltEs8(Just(x0), Just(x1), ty_Float)
new_esEs27(x0, x1, ty_Char)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs21(x0, x1, ty_@0)
new_esEs21(x0, x1, ty_@0)
new_esEs7(Right(x0), Right(x1), x2, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_esEs4(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Double)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_not(False)
new_compare31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt6(x0, x1, ty_Char)
new_ltEs4(Left(x0), Right(x1), x2, x3)
new_lt6(x0, x1, app(ty_Ratio, x2))
new_ltEs4(Right(x0), Left(x1), x2, x3)
new_esEs4(Just(x0), Just(x1), ty_Integer)
new_esEs26(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_@0)
new_compare25(x0, x1, False)
new_esEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs6(EQ, GT)
new_ltEs6(GT, EQ)
new_esEs13(:%(x0, x1), :%(x2, x3), x4)
new_compare31(x0, x1, ty_Integer)
new_ltEs18(x0, x1, ty_Double)
new_esEs7(Left(x0), Left(x1), ty_@0, x2)
new_esEs9(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_@0)
new_ltEs8(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs13(x0, x1)
new_ltEs4(Left(x0), Left(x1), ty_Double, x2)
new_ltEs8(Just(x0), Just(x1), ty_Char)
new_esEs15(Char(x0), Char(x1))
new_compare16(x0, x1)
new_ltEs15(x0, x1)
new_esEs9(x0, x1, ty_Float)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_asAs(True, x0)
new_esEs8(EQ, LT)
new_esEs8(LT, EQ)
new_esEs7(Left(x0), Left(x1), ty_Bool, x2)
new_compare0([], [], x0)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_primCompAux0(x0, GT)
new_ltEs18(x0, x1, ty_Ordering)
new_esEs9(x0, x1, ty_Int)
new_lt7(x0, x1)
new_ltEs8(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs20(x0, x1, ty_Bool)
new_esEs20(x0, x1, ty_Float)
new_compare31(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_@0)
new_esEs12([], [], x0)
new_esEs30(x0, x1, ty_Integer)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs17(False, True)
new_esEs17(True, False)
new_esEs30(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Char)
new_esEs7(Right(x0), Left(x1), x2, x3)
new_esEs7(Left(x0), Right(x1), x2, x3)
new_compare31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs17(True, True)
new_esEs23(x0, x1, ty_Int)
new_compare26(x0, x1, False)
new_esEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_primEqNat0(Zero, Succ(x0))
new_lt5(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpNat2(Succ(x0), x1)
new_esEs10(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_Bool)
new_esEs28(x0, x1, ty_@0)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_lt5(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare0([], :(x0, x1), x2)
new_esEs19(@0, @0)
new_compare11(x0, x1, False)
new_esEs20(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_Int)
new_compare110(x0, x1, True, x2)
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_esEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_compare11(x0, x1, True)
new_ltEs4(Right(x0), Right(x1), x2, ty_Char)
new_primPlusNat1(Succ(x0), x1)
new_esEs9(x0, x1, ty_@0)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ AND
                                        ↳ QDP
                                        ↳ QDP
                                          ↳ UsableRulesProof
QDP
                                              ↳ QReductionProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_splitGT2(ywz48, ywz49, ywz50, ywz51, ywz52, ywz53, True, bc, bd, be) → new_splitGT(ywz52, ywz53, bc, bd, be)
new_splitGT(Branch(ywz440, ywz441, ywz442, ywz443, ywz444), ywz500, h, ba, bb) → new_splitGT3(ywz440, ywz441, ywz442, ywz443, ywz444, Left(ywz500), h, ba, bb)
new_splitGT20(ywz400, ywz41, ywz42, ywz43, Branch(ywz440, ywz441, ywz442, ywz443, ywz444), ywz500, True, h, ba, bb) → new_splitGT3(ywz440, ywz441, ywz442, ywz443, ywz444, Left(ywz500), h, ba, bb)
new_splitGT10(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba, bb) → new_splitGT(ywz43, ywz500, h, ba, bb)
new_splitGT20(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba, bb) → new_splitGT10(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_lt16(Left(ywz500), Right(ywz400), h, ba), h, ba, bb)
new_splitGT3(Left(ywz400), ywz41, ywz42, ywz43, ywz44, Left(ywz500), h, ba, bb) → new_splitGT2(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Left(ywz500), Left(ywz400), new_esEs29(ywz500, ywz400, h), h, ba), GT), h, ba, bb)
new_splitGT1(ywz48, ywz49, ywz50, ywz51, ywz52, ywz53, True, bc, bd, be) → new_splitGT(ywz51, ywz53, bc, bd, be)
new_splitGT3(Right(ywz400), ywz41, ywz42, ywz43, ywz44, Left(ywz500), h, ba, bb) → new_splitGT20(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Left(ywz500), Right(ywz400), False, h, ba), GT), h, ba, bb)
new_splitGT2(ywz48, ywz49, ywz50, ywz51, ywz52, ywz53, False, bc, bd, be) → new_splitGT1(ywz48, ywz49, ywz50, ywz51, ywz52, ywz53, new_lt16(Left(ywz53), Left(ywz48), bc, bd), bc, bd, be)

The TRS R consists of the following rules:

new_compare24(Left(ywz500), Right(ywz400), False, h, ba) → LT
new_esEs8(GT, GT) → True
new_esEs8(LT, GT) → False
new_esEs8(EQ, GT) → False
new_lt16(ywz50, ywz40, h, ba) → new_esEs8(new_compare18(ywz50, ywz40, h, ba), LT)
new_compare18(ywz50, ywz40, h, ba) → new_compare24(ywz50, ywz40, new_esEs7(ywz50, ywz40, h, ba), h, ba)
new_esEs8(LT, LT) → True
new_esEs8(GT, LT) → False
new_esEs8(EQ, LT) → False
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Integer, ca) → new_esEs14(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Right(ywz4000), de, ca) → False
new_esEs7(Right(ywz5000), Left(ywz4000), de, ca) → False
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(ty_@2, ea), eb)) → new_esEs5(ywz5000, ywz4000, ea, eb)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Int, ca) → new_esEs11(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_@2, ce), cf), ca) → new_esEs5(ywz5000, ywz4000, ce, cf)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Ordering, ca) → new_esEs8(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(app(ty_@3, ee), ef), eg)) → new_esEs6(ywz5000, ywz4000, ee, ef, eg)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_Ratio, dh)) → new_esEs13(ywz5000, ywz4000, dh)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Ratio, cd), ca) → new_esEs13(ywz5000, ywz4000, cd)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_[], df)) → new_esEs12(ywz5000, ywz4000, df)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_[], cb), ca) → new_esEs12(ywz5000, ywz4000, cb)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Double, ca) → new_esEs16(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Float, ca) → new_esEs18(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, db), dc), dd), ca) → new_esEs6(ywz5000, ywz4000, db, dc, dd)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Bool, ca) → new_esEs17(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_@0, ca) → new_esEs19(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Char, ca) → new_esEs15(ywz5000, ywz4000)
new_compare24(Left(ywz500), Left(ywz400), False, h, ba) → new_compare14(ywz500, ywz400, new_ltEs19(ywz500, ywz400, h), h, ba)
new_compare24(ywz50, ywz40, True, h, ba) → EQ
new_compare24(Right(ywz500), Left(ywz400), False, h, ba) → GT
new_compare24(Right(ywz500), Right(ywz400), False, h, ba) → new_compare12(ywz500, ywz400, new_ltEs20(ywz500, ywz400, ba), h, ba)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cg), da), ca) → new_esEs7(ywz5000, ywz4000, cg, da)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhh), caa)) → new_esEs7(ywz5000, ywz4000, bhh, caa)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bhd)) → new_esEs4(ywz5000, ywz4000, bhd)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(ty_Either, ec), ed)) → new_esEs7(ywz5000, ywz4000, ec, ed)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Maybe, cc), ca) → new_esEs4(ywz5000, ywz4000, cc)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_Maybe, dg)) → new_esEs4(ywz5000, ywz4000, dg)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs4(Nothing, Just(ywz4000), bfe) → False
new_esEs4(Just(ywz5000), Nothing, bfe) → False
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cab), cac), cad)) → new_esEs6(ywz5000, ywz4000, cab, cac, cad)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_[], bhc)) → new_esEs12(ywz5000, ywz4000, bhc)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bhf), bhg)) → new_esEs5(ywz5000, ywz4000, bhf, bhg)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs4(Nothing, Nothing, bfe) → True
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhe)) → new_esEs13(ywz5000, ywz4000, bhe)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs15(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_esEs19(@0, @0) → True
new_esEs11(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs16(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_sr(ywz5000, ywz4000) → new_primMulInt(ywz5000, ywz4000)
new_primMulInt(Pos(ywz50000), Pos(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Neg(ywz50000), Neg(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Neg(ywz50000), Pos(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Pos(ywz50000), Neg(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(ywz500000), Succ(ywz400000)) → new_primPlusNat1(new_primMulNat0(ywz500000, Succ(ywz400000)), ywz400000)
new_primMulNat0(Succ(ywz500000), Zero) → Zero
new_primMulNat0(Zero, Succ(ywz400000)) → Zero
new_primPlusNat1(Zero, ywz400000) → Succ(ywz400000)
new_primPlusNat1(Succ(ywz2480), ywz400000) → Succ(Succ(new_primPlusNat0(ywz2480, ywz400000)))
new_primPlusNat0(Zero, Succ(ywz4000000)) → Succ(ywz4000000)
new_primPlusNat0(Succ(ywz24800), Zero) → Succ(ywz24800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(ywz24800), Succ(ywz4000000)) → Succ(Succ(new_primPlusNat0(ywz24800, ywz4000000)))
new_esEs13(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), bff) → new_asAs(new_esEs24(ywz5000, ywz4000, bff), new_esEs23(ywz5001, ywz4001, bff))
new_esEs24(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs24(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs23(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs23(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_asAs(False, ywz142) → False
new_asAs(True, ywz142) → ywz142
new_esEs14(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_esEs18(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs5(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcg, bch) → new_asAs(new_esEs22(ywz5000, ywz4000, bcg), new_esEs21(ywz5001, ywz4001, bch))
new_esEs22(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_esEs5(ywz5000, ywz4000, bef, beg)
new_esEs22(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_esEs7(ywz5000, ywz4000, beh, bfa)
new_esEs22(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs22(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_esEs4(ywz5000, ywz4000, bed)
new_esEs22(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_esEs13(ywz5000, ywz4000, bee)
new_esEs22(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(ty_[], bec)) → new_esEs12(ywz5000, ywz4000, bec)
new_esEs22(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bdc)) → new_esEs13(ywz5001, ywz4001, bdc)
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bdd), bde)) → new_esEs5(ywz5001, ywz4001, bdd, bde)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_[], bda)) → new_esEs12(ywz5001, ywz4001, bda)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bdf), bdg)) → new_esEs7(ywz5001, ywz4001, bdf, bdg)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bdb)) → new_esEs4(ywz5001, ywz4001, bdb)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bdh), bea), beb)) → new_esEs6(ywz5001, ywz4001, bdh, bea, beb)
new_esEs6(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), eh, fa, fb) → new_asAs(new_esEs27(ywz5000, ywz4000, eh), new_asAs(new_esEs26(ywz5001, ywz4001, fa), new_esEs25(ywz5002, ywz4002, fb)))
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_esEs7(ywz5000, ywz4000, ga, gb)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_esEs13(ywz5000, ywz4000, ff)
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_esEs6(ywz5000, ywz4000, gc, gd, ge)
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_esEs5(ywz5000, ywz4000, fg, fh)
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_esEs4(ywz5000, ywz4000, fd)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_[], fc)) → new_esEs12(ywz5000, ywz4000, fc)
new_esEs26(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_esEs4(ywz5001, ywz4001, gg)
new_esEs26(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_esEs13(ywz5001, ywz4001, gh)
new_esEs26(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_esEs6(ywz5001, ywz4001, he, hf, hg)
new_esEs26(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_esEs7(ywz5001, ywz4001, hc, hd)
new_esEs26(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_esEs5(ywz5001, ywz4001, ha, hb)
new_esEs26(ywz5001, ywz4001, app(ty_[], gf)) → new_esEs12(ywz5001, ywz4001, gf)
new_esEs26(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, ty_Bool) → new_esEs17(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Double) → new_esEs16(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Ordering) → new_esEs8(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(ty_Ratio, bab)) → new_esEs13(ywz5002, ywz4002, bab)
new_esEs25(ywz5002, ywz4002, app(ty_[], hh)) → new_esEs12(ywz5002, ywz4002, hh)
new_esEs25(ywz5002, ywz4002, app(ty_Maybe, baa)) → new_esEs4(ywz5002, ywz4002, baa)
new_esEs25(ywz5002, ywz4002, ty_@0) → new_esEs19(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Float) → new_esEs18(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Integer) → new_esEs14(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(app(app(ty_@3, bag), bah), bba)) → new_esEs6(ywz5002, ywz4002, bag, bah, bba)
new_esEs25(ywz5002, ywz4002, ty_Char) → new_esEs15(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(app(ty_@2, bac), bad)) → new_esEs5(ywz5002, ywz4002, bac, bad)
new_esEs25(ywz5002, ywz4002, ty_Int) → new_esEs11(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(app(ty_Either, bae), baf)) → new_esEs7(ywz5002, ywz4002, bae, baf)
new_esEs12(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bbd) → new_asAs(new_esEs20(ywz5000, ywz4000, bbd), new_esEs12(ywz5001, ywz4001, bbd))
new_esEs12([], [], bbd) → True
new_esEs12(:(ywz5000, ywz5001), [], bbd) → False
new_esEs12([], :(ywz4000, ywz4001), bbd) → False
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bbf)) → new_esEs4(ywz5000, ywz4000, bbf)
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bbg)) → new_esEs13(ywz5000, ywz4000, bbg)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, bbh), bca)) → new_esEs5(ywz5000, ywz4000, bbh, bca)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bcd), bce), bcf)) → new_esEs6(ywz5000, ywz4000, bcd, bce, bcf)
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_[], bbe)) → new_esEs12(ywz5000, ywz4000, bbe)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, bcb), bcc)) → new_esEs7(ywz5000, ywz4000, bcb, bcc)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs8(EQ, EQ) → True
new_esEs8(LT, EQ) → False
new_esEs8(GT, EQ) → False
new_esEs17(True, True) → True
new_esEs17(False, False) → True
new_esEs17(False, True) → False
new_esEs17(True, False) → False
new_ltEs20(ywz500, ywz400, app(ty_Ratio, bga)) → new_ltEs9(ywz500, ywz400, bga)
new_ltEs20(ywz500, ywz400, app(ty_[], bfg)) → new_ltEs7(ywz500, ywz400, bfg)
new_ltEs20(ywz500, ywz400, app(ty_Maybe, bfh)) → new_ltEs8(ywz500, ywz400, bfh)
new_ltEs20(ywz500, ywz400, app(app(ty_Either, bgd), bge)) → new_ltEs4(ywz500, ywz400, bgd, bge)
new_ltEs20(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, app(app(app(ty_@3, bgf), bgg), bgh)) → new_ltEs17(ywz500, ywz400, bgf, bgg, bgh)
new_ltEs20(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, app(app(ty_@2, bgb), bgc)) → new_ltEs10(ywz500, ywz400, bgb, bgc)
new_compare12(ywz154, ywz155, False, bbb, bbc) → GT
new_compare12(ywz154, ywz155, True, bbb, bbc) → LT
new_ltEs10(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcg, bch) → new_pePe(new_lt20(ywz5000, ywz4000, bcg), new_asAs(new_esEs28(ywz5000, ywz4000, bcg), new_ltEs21(ywz5001, ywz4001, bch)))
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(ty_[], bec)) → new_lt9(ywz5000, ywz4000, bec)
new_lt20(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_lt11(ywz5000, ywz4000, bee)
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_lt16(ywz5000, ywz4000, beh, bfa)
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_lt12(ywz5000, ywz4000, bef, beg)
new_lt20(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_lt10(ywz5000, ywz4000, bed)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_lt19(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs28(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_esEs4(ywz5000, ywz4000, bed)
new_esEs28(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_esEs7(ywz5000, ywz4000, beh, bfa)
new_esEs28(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_esEs5(ywz5000, ywz4000, bef, beg)
new_esEs28(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs28(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_esEs13(ywz5000, ywz4000, bee)
new_esEs28(ywz5000, ywz4000, app(ty_[], bec)) → new_esEs12(ywz5000, ywz4000, bec)
new_esEs28(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, app(app(app(ty_@3, bdh), bea), beb)) → new_ltEs17(ywz5001, ywz4001, bdh, bea, beb)
new_ltEs21(ywz5001, ywz4001, ty_Int) → new_ltEs5(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Double) → new_ltEs13(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, app(ty_[], bda)) → new_ltEs7(ywz5001, ywz4001, bda)
new_ltEs21(ywz5001, ywz4001, app(app(ty_Either, bdf), bdg)) → new_ltEs4(ywz5001, ywz4001, bdf, bdg)
new_ltEs21(ywz5001, ywz4001, ty_Char) → new_ltEs12(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, app(ty_Ratio, bdc)) → new_ltEs9(ywz5001, ywz4001, bdc)
new_ltEs21(ywz5001, ywz4001, app(ty_Maybe, bdb)) → new_ltEs8(ywz5001, ywz4001, bdb)
new_ltEs21(ywz5001, ywz4001, ty_@0) → new_ltEs16(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Integer) → new_ltEs11(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Bool) → new_ltEs14(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, app(app(ty_@2, bdd), bde)) → new_ltEs10(ywz5001, ywz4001, bdd, bde)
new_ltEs21(ywz5001, ywz4001, ty_Ordering) → new_ltEs6(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Float) → new_ltEs15(ywz5001, ywz4001)
new_pePe(False, ywz225) → ywz225
new_pePe(True, ywz225) → True
new_ltEs15(ywz500, ywz400) → new_not(new_esEs8(new_compare10(ywz500, ywz400), GT))
new_compare10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_not(False) → True
new_not(True) → False
new_compare8(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat1(ywz50000, ywz4000)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat2(ywz4000, ywz50000)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat2(Zero, ywz40000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat1(ywz40000, Zero)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_primCmpNat1(ywz50000, Zero) → GT
new_primCmpNat2(Zero, ywz50000) → LT
new_primCmpNat2(Succ(ywz40000), ywz50000) → new_primCmpNat0(ywz40000, ywz50000)
new_primCmpNat0(Zero, Succ(ywz400000)) → LT
new_primCmpNat0(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat0(ywz500000, ywz400000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(ywz500000), Zero) → GT
new_primCmpNat1(ywz50000, Succ(ywz40000)) → new_primCmpNat0(ywz50000, ywz40000)
new_ltEs6(GT, EQ) → False
new_ltEs6(EQ, GT) → True
new_ltEs6(EQ, EQ) → True
new_ltEs6(GT, GT) → True
new_ltEs6(LT, LT) → True
new_ltEs6(EQ, LT) → False
new_ltEs6(LT, GT) → True
new_ltEs6(LT, EQ) → True
new_ltEs6(GT, LT) → False
new_ltEs14(False, True) → True
new_ltEs14(False, False) → True
new_ltEs14(True, True) → True
new_ltEs14(True, False) → False
new_ltEs11(ywz500, ywz400) → new_not(new_esEs8(new_compare9(ywz500, ywz400), GT))
new_compare9(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_ltEs16(ywz500, ywz400) → new_not(new_esEs8(new_compare28(ywz500, ywz400), GT))
new_compare28(@0, @0) → EQ
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhe)) → new_ltEs9(ywz5000, ywz4000, bhe)
new_ltEs8(Nothing, Just(ywz4000), bfe) → True
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_[], bhc)) → new_ltEs7(ywz5000, ywz4000, bhc)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cab), cac), cad)) → new_ltEs17(ywz5000, ywz4000, cab, cac, cad)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Nothing, bfe) → False
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, cc), ca) → new_ltEs8(ywz5000, ywz4000, cc)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bhd)) → new_ltEs8(ywz5000, ywz4000, bhd)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(ty_Either, ec), ed)) → new_ltEs4(ywz5000, ywz4000, ec, ed)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cg), da), ca) → new_ltEs4(ywz5000, ywz4000, cg, da)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_Maybe, dg)) → new_ltEs8(ywz5000, ywz4000, dg)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhh), caa)) → new_ltEs4(ywz5000, ywz4000, bhh, caa)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_ltEs8(Nothing, Nothing, bfe) → True
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bhf), bhg)) → new_ltEs10(ywz5000, ywz4000, bhf, bhg)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_ltEs12(ywz500, ywz400) → new_not(new_esEs8(new_compare5(ywz500, ywz400), GT))
new_compare5(Char(ywz5000), Char(ywz4000)) → new_primCmpNat0(ywz5000, ywz4000)
new_ltEs5(ywz500, ywz400) → new_not(new_esEs8(new_compare8(ywz500, ywz400), GT))
new_ltEs13(ywz500, ywz400) → new_not(new_esEs8(new_compare15(ywz500, ywz400), GT))
new_compare15(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Int, ca) → new_ltEs5(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Double, ca) → new_ltEs13(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, ce), cf), ca) → new_ltEs10(ywz5000, ywz4000, ce, cf)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Char, ca) → new_ltEs12(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, db), dc), dd), ca) → new_ltEs17(ywz5000, ywz4000, db, dc, dd)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, ca) → new_ltEs6(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Right(ywz4000), de, ca) → True
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Bool, ca) → new_ltEs14(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, cd), ca) → new_ltEs9(ywz5000, ywz4000, cd)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_@0, ca) → new_ltEs16(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(app(ty_@3, ee), ef), eg)) → new_ltEs17(ywz5000, ywz4000, ee, ef, eg)
new_ltEs4(Right(ywz5000), Left(ywz4000), de, ca) → False
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_Ratio, dh)) → new_ltEs9(ywz5000, ywz4000, dh)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(ty_@2, ea), eb)) → new_ltEs10(ywz5000, ywz4000, ea, eb)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Float, ca) → new_ltEs15(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_[], cb), ca) → new_ltEs7(ywz5000, ywz4000, cb)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_[], df)) → new_ltEs7(ywz5000, ywz4000, df)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Integer, ca) → new_ltEs11(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, bbd) → new_not(new_esEs8(new_compare0(ywz500, ywz400, bbd), GT))
new_compare0([], [], bbd) → EQ
new_compare0(:(ywz5000, ywz5001), [], bbd) → GT
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bbd) → new_primCompAux1(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, bbd), bbd)
new_compare0([], :(ywz4000, ywz4001), bbd) → LT
new_primCompAux1(ywz5000, ywz4000, ywz290, bbd) → new_primCompAux0(ywz290, new_compare31(ywz5000, ywz4000, bbd))
new_compare31(ywz5000, ywz4000, ty_Double) → new_compare15(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Int) → new_compare8(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Ordering) → new_compare16(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(app(ty_Either, bcb), bcc)) → new_compare18(ywz5000, ywz4000, bcb, bcc)
new_compare31(ywz5000, ywz4000, ty_@0) → new_compare28(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_Maybe, bbf)) → new_compare32(ywz5000, ywz4000, bbf)
new_compare31(ywz5000, ywz4000, app(app(app(ty_@3, bcd), bce), bcf)) → new_compare17(ywz5000, ywz4000, bcd, bce, bcf)
new_compare31(ywz5000, ywz4000, ty_Bool) → new_compare6(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(app(ty_@2, bbh), bca)) → new_compare30(ywz5000, ywz4000, bbh, bca)
new_compare31(ywz5000, ywz4000, ty_Integer) → new_compare9(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_Ratio, bbg)) → new_compare7(ywz5000, ywz4000, bbg)
new_compare31(ywz5000, ywz4000, ty_Char) → new_compare5(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_[], bbe)) → new_compare0(ywz5000, ywz4000, bbe)
new_compare31(ywz5000, ywz4000, ty_Float) → new_compare10(ywz5000, ywz4000)
new_primCompAux0(ywz333, GT) → GT
new_primCompAux0(ywz333, LT) → LT
new_primCompAux0(ywz333, EQ) → ywz333
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare8(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare9(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_sr0(Integer(ywz50000), Integer(ywz40010)) → Integer(new_primMulInt(ywz50000, ywz40010))
new_compare30(ywz5000, ywz4000, bef, beg) → new_compare27(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bef, beg), bef, beg)
new_compare27(ywz5000, ywz4000, True, bef, beg) → EQ
new_compare27(ywz5000, ywz4000, False, bef, beg) → new_compare19(ywz5000, ywz4000, new_ltEs10(ywz5000, ywz4000, bef, beg), bef, beg)
new_compare19(ywz5000, ywz4000, True, bef, beg) → LT
new_compare19(ywz5000, ywz4000, False, bef, beg) → GT
new_compare6(ywz5000, ywz4000) → new_compare25(ywz5000, ywz4000, new_esEs17(ywz5000, ywz4000))
new_compare25(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs14(ywz5000, ywz4000))
new_compare25(ywz5000, ywz4000, True) → EQ
new_compare11(ywz5000, ywz4000, False) → GT
new_compare11(ywz5000, ywz4000, True) → LT
new_compare17(ywz5000, ywz4000, bfb, bfc, bfd) → new_compare210(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd), bfb, bfc, bfd)
new_compare210(ywz5000, ywz4000, True, bfb, bfc, bfd) → EQ
new_compare210(ywz5000, ywz4000, False, bfb, bfc, bfd) → new_compare111(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000, bfb, bfc, bfd), bfb, bfc, bfd)
new_ltEs17(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), eh, fa, fb) → new_pePe(new_lt5(ywz5000, ywz4000, eh), new_asAs(new_esEs10(ywz5000, ywz4000, eh), new_pePe(new_lt6(ywz5001, ywz4001, fa), new_asAs(new_esEs9(ywz5001, ywz4001, fa), new_ltEs18(ywz5002, ywz4002, fb)))))
new_compare111(ywz5000, ywz4000, True, bfb, bfc, bfd) → LT
new_compare111(ywz5000, ywz4000, False, bfb, bfc, bfd) → GT
new_lt5(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_lt19(ywz5000, ywz4000, gc, gd, ge)
new_lt5(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_lt16(ywz5000, ywz4000, ga, gb)
new_lt5(ywz5000, ywz4000, app(ty_[], fc)) → new_lt9(ywz5000, ywz4000, fc)
new_lt5(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_lt11(ywz5000, ywz4000, ff)
new_lt5(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_lt12(ywz5000, ywz4000, fg, fh)
new_lt5(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_lt10(ywz5000, ywz4000, fd)
new_lt5(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(ty_[], fc)) → new_esEs12(ywz5000, ywz4000, fc)
new_esEs10(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_esEs7(ywz5000, ywz4000, ga, gb)
new_esEs10(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_esEs5(ywz5000, ywz4000, fg, fh)
new_esEs10(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_esEs6(ywz5000, ywz4000, gc, gd, ge)
new_esEs10(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_esEs13(ywz5000, ywz4000, ff)
new_esEs10(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_esEs4(ywz5000, ywz4000, fd)
new_esEs10(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, ty_Bool) → new_lt4(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, ty_Char) → new_lt14(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, ty_Ordering) → new_lt8(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_lt11(ywz5001, ywz4001, gh)
new_lt6(ywz5001, ywz4001, ty_Float) → new_lt17(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, ty_Double) → new_lt15(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(ty_[], gf)) → new_lt9(ywz5001, ywz4001, gf)
new_lt6(ywz5001, ywz4001, ty_Integer) → new_lt13(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_lt19(ywz5001, ywz4001, he, hf, hg)
new_lt6(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_lt10(ywz5001, ywz4001, gg)
new_lt6(ywz5001, ywz4001, ty_Int) → new_lt7(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_lt16(ywz5001, ywz4001, hc, hd)
new_lt6(ywz5001, ywz4001, ty_@0) → new_lt18(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_lt12(ywz5001, ywz4001, ha, hb)
new_esEs9(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(ty_[], gf)) → new_esEs12(ywz5001, ywz4001, gf)
new_esEs9(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_esEs13(ywz5001, ywz4001, gh)
new_esEs9(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_esEs5(ywz5001, ywz4001, ha, hb)
new_esEs9(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_esEs4(ywz5001, ywz4001, gg)
new_esEs9(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_esEs6(ywz5001, ywz4001, he, hf, hg)
new_esEs9(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_esEs7(ywz5001, ywz4001, hc, hd)
new_ltEs18(ywz5002, ywz4002, ty_Float) → new_ltEs15(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(ty_Ratio, bab)) → new_ltEs9(ywz5002, ywz4002, bab)
new_ltEs18(ywz5002, ywz4002, app(ty_[], hh)) → new_ltEs7(ywz5002, ywz4002, hh)
new_ltEs18(ywz5002, ywz4002, ty_Double) → new_ltEs13(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Int) → new_ltEs5(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Ordering) → new_ltEs6(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(app(ty_@2, bac), bad)) → new_ltEs10(ywz5002, ywz4002, bac, bad)
new_ltEs18(ywz5002, ywz4002, ty_@0) → new_ltEs16(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Integer) → new_ltEs11(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(app(ty_Either, bae), baf)) → new_ltEs4(ywz5002, ywz4002, bae, baf)
new_ltEs18(ywz5002, ywz4002, app(app(app(ty_@3, bag), bah), bba)) → new_ltEs17(ywz5002, ywz4002, bag, bah, bba)
new_ltEs18(ywz5002, ywz4002, ty_Bool) → new_ltEs14(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Char) → new_ltEs12(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(ty_Maybe, baa)) → new_ltEs8(ywz5002, ywz4002, baa)
new_ltEs9(ywz500, ywz400, bff) → new_not(new_esEs8(new_compare7(ywz500, ywz400, bff), GT))
new_lt12(ywz5000, ywz4000, bef, beg) → new_esEs8(new_compare30(ywz5000, ywz4000, bef, beg), LT)
new_lt18(ywz5000, ywz4000) → new_esEs8(new_compare28(ywz5000, ywz4000), LT)
new_lt7(ywz5000, ywz4000) → new_esEs8(new_compare8(ywz5000, ywz4000), LT)
new_lt10(ywz5000, ywz4000, bed) → new_esEs8(new_compare32(ywz5000, ywz4000, bed), LT)
new_compare32(ywz5000, ywz4000, bed) → new_compare29(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, bed), bed)
new_compare29(ywz5000, ywz4000, False, bed) → new_compare110(ywz5000, ywz4000, new_ltEs8(ywz5000, ywz4000, bed), bed)
new_compare29(ywz5000, ywz4000, True, bed) → EQ
new_compare110(ywz5000, ywz4000, True, bed) → LT
new_compare110(ywz5000, ywz4000, False, bed) → GT
new_lt19(ywz5000, ywz4000, bfb, bfc, bfd) → new_esEs8(new_compare17(ywz5000, ywz4000, bfb, bfc, bfd), LT)
new_lt13(ywz5000, ywz4000) → new_esEs8(new_compare9(ywz5000, ywz4000), LT)
new_lt9(ywz5000, ywz4000, bec) → new_esEs8(new_compare0(ywz5000, ywz4000, bec), LT)
new_lt15(ywz5000, ywz4000) → new_esEs8(new_compare15(ywz5000, ywz4000), LT)
new_lt17(ywz5000, ywz4000) → new_esEs8(new_compare10(ywz5000, ywz4000), LT)
new_lt11(ywz5000, ywz4000, bee) → new_esEs8(new_compare7(ywz5000, ywz4000, bee), LT)
new_lt8(ywz5000, ywz4000) → new_esEs8(new_compare16(ywz5000, ywz4000), LT)
new_compare16(ywz5000, ywz4000) → new_compare26(ywz5000, ywz4000, new_esEs8(ywz5000, ywz4000))
new_compare26(ywz5000, ywz4000, False) → new_compare13(ywz5000, ywz4000, new_ltEs6(ywz5000, ywz4000))
new_compare26(ywz5000, ywz4000, True) → EQ
new_compare13(ywz5000, ywz4000, False) → GT
new_compare13(ywz5000, ywz4000, True) → LT
new_lt14(ywz5000, ywz4000) → new_esEs8(new_compare5(ywz5000, ywz4000), LT)
new_lt4(ywz5000, ywz4000) → new_esEs8(new_compare6(ywz5000, ywz4000), LT)
new_ltEs19(ywz500, ywz400, app(app(ty_Either, de), ca)) → new_ltEs4(ywz500, ywz400, de, ca)
new_ltEs19(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(app(ty_@2, bcg), bch)) → new_ltEs10(ywz500, ywz400, bcg, bch)
new_ltEs19(ywz500, ywz400, app(ty_Ratio, bff)) → new_ltEs9(ywz500, ywz400, bff)
new_ltEs19(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(ty_Maybe, bfe)) → new_ltEs8(ywz500, ywz400, bfe)
new_ltEs19(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(ty_[], bbd)) → new_ltEs7(ywz500, ywz400, bbd)
new_ltEs19(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(app(app(ty_@3, eh), fa), fb)) → new_ltEs17(ywz500, ywz400, eh, fa, fb)
new_ltEs19(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_compare14(ywz147, ywz148, False, bha, bhb) → GT
new_compare14(ywz147, ywz148, True, bha, bhb) → LT
new_esEs29(ywz500, ywz400, ty_Float) → new_esEs18(ywz500, ywz400)
new_esEs29(ywz500, ywz400, ty_Double) → new_esEs16(ywz500, ywz400)
new_esEs29(ywz500, ywz400, app(ty_Ratio, bff)) → new_esEs13(ywz500, ywz400, bff)
new_esEs29(ywz500, ywz400, ty_@0) → new_esEs19(ywz500, ywz400)
new_esEs29(ywz500, ywz400, app(ty_[], bbd)) → new_esEs12(ywz500, ywz400, bbd)
new_esEs29(ywz500, ywz400, app(app(ty_@2, bcg), bch)) → new_esEs5(ywz500, ywz400, bcg, bch)
new_esEs29(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_esEs29(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_esEs29(ywz500, ywz400, ty_Bool) → new_esEs17(ywz500, ywz400)
new_esEs29(ywz500, ywz400, ty_Int) → new_esEs11(ywz500, ywz400)
new_esEs29(ywz500, ywz400, app(app(app(ty_@3, eh), fa), fb)) → new_esEs6(ywz500, ywz400, eh, fa, fb)
new_esEs29(ywz500, ywz400, app(app(ty_Either, de), ca)) → new_esEs7(ywz500, ywz400, de, ca)
new_esEs29(ywz500, ywz400, app(ty_Maybe, bfe)) → new_esEs4(ywz500, ywz400, bfe)
new_esEs29(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)

The set Q consists of the following terms:

new_esEs7(Left(x0), Left(x1), ty_Int, x2)
new_esEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs21(x0, x1, ty_Int)
new_compare24(Right(x0), Right(x1), False, x2, x3)
new_esEs18(Float(x0, x1), Float(x2, x3))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs16(x0, x1)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_primCmpNat1(x0, Succ(x1))
new_esEs20(x0, x1, ty_Double)
new_lt6(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Double)
new_compare27(x0, x1, True, x2, x3)
new_esEs30(x0, x1, ty_Double)
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Int)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt9(x0, x1, x2)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_ltEs21(x0, x1, ty_Ordering)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_primCompAux0(x0, EQ)
new_esEs29(x0, x1, ty_Double)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, ty_Bool)
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Bool)
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, ty_Int)
new_esEs22(x0, x1, ty_Ordering)
new_compare15(Double(x0, x1), Double(x2, x3))
new_esEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_lt6(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_primCmpNat0(Succ(x0), Zero)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_lt4(x0, x1)
new_ltEs21(x0, x1, ty_Double)
new_lt10(x0, x1, x2)
new_compare5(Char(x0), Char(x1))
new_esEs29(x0, x1, ty_Ordering)
new_esEs29(x0, x1, ty_Bool)
new_ltEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs14(True, False)
new_ltEs14(False, True)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs30(x0, x1, ty_Ordering)
new_esEs30(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Ordering)
new_lt8(x0, x1)
new_esEs8(GT, GT)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(x0, x1, x2)
new_esEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_lt20(x0, x1, app(ty_[], x2))
new_compare14(x0, x1, True, x2, x3)
new_compare30(x0, x1, x2, x3)
new_esEs26(x0, x1, ty_Int)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_Integer)
new_esEs7(Left(x0), Left(x1), ty_Integer, x2)
new_esEs8(LT, LT)
new_esEs26(x0, x1, ty_Float)
new_primPlusNat1(Zero, x0)
new_ltEs19(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_compare27(x0, x1, False, x2, x3)
new_lt20(x0, x1, ty_Int)
new_primEqNat0(Succ(x0), Succ(x1))
new_compare0(:(x0, x1), [], x2)
new_ltEs19(x0, x1, ty_Float)
new_esEs17(False, False)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Integer)
new_esEs7(Right(x0), Right(x1), x2, ty_Float)
new_esEs27(x0, x1, ty_Float)
new_lt5(x0, x1, ty_Int)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_compare210(x0, x1, True, x2, x3, x4)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Bool)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, ty_Bool)
new_ltEs6(EQ, EQ)
new_pePe(False, x0)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_compare12(x0, x1, False, x2, x3)
new_esEs7(Left(x0), Left(x1), ty_Char, x2)
new_esEs8(LT, GT)
new_esEs8(GT, LT)
new_ltEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_compare9(Integer(x0), Integer(x1))
new_pePe(True, x0)
new_esEs28(x0, x1, ty_Int)
new_esEs7(Left(x0), Left(x1), ty_Float, x2)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs4(Just(x0), Just(x1), ty_@0)
new_esEs4(Just(x0), Just(x1), ty_Int)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs6(LT, EQ)
new_ltEs20(x0, x1, ty_@0)
new_ltEs6(EQ, LT)
new_compare7(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_primEqNat0(Zero, Zero)
new_ltEs19(x0, x1, ty_Double)
new_esEs7(Right(x0), Right(x1), x2, ty_Int)
new_ltEs8(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs19(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Bool)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Char)
new_compare26(x0, x1, True)
new_esEs12(:(x0, x1), [], x2)
new_compare110(x0, x1, False, x2)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs4(Right(x0), Right(x1), x2, ty_Integer)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_ltEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_compare29(x0, x1, False, x2)
new_esEs4(Just(x0), Just(x1), app(ty_Ratio, x2))
new_lt6(x0, x1, app(ty_Maybe, x2))
new_compare28(@0, @0)
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs28(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Char)
new_primMulNat0(Zero, Zero)
new_esEs28(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, ty_@0)
new_ltEs21(x0, x1, ty_Float)
new_esEs9(x0, x1, ty_Integer)
new_ltEs10(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt20(x0, x1, ty_@0)
new_esEs30(x0, x1, ty_Char)
new_primCompAux1(x0, x1, x2, x3)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Double)
new_lt6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs19(x0, x1, ty_Int)
new_compare29(x0, x1, True, x2)
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs22(x0, x1, ty_@0)
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_ltEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs9(x0, x1, ty_Bool)
new_esEs4(Just(x0), Just(x1), ty_Float)
new_lt5(x0, x1, ty_@0)
new_esEs10(x0, x1, ty_Ordering)
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_esEs12([], :(x0, x1), x2)
new_ltEs8(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs7(Left(x0), Left(x1), ty_Double, x2)
new_esEs28(x0, x1, ty_Integer)
new_lt6(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Double)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs8(Nothing, Nothing, x0)
new_esEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs20(x0, x1, ty_@0)
new_esEs25(x0, x1, ty_Int)
new_ltEs20(x0, x1, ty_Int)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, ty_Char)
new_compare24(Left(x0), Right(x1), False, x2, x3)
new_compare24(Right(x0), Left(x1), False, x2, x3)
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs18(x0, x1, ty_Char)
new_esEs21(x0, x1, ty_Integer)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs30(x0, x1, ty_Bool)
new_asAs(False, x0)
new_esEs25(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, ty_Char)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_primMulNat0(Succ(x0), Succ(x1))
new_ltEs4(Right(x0), Right(x1), x2, ty_@0)
new_esEs22(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), ty_Double)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, ty_Ordering)
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_primCmpNat1(x0, Zero)
new_primCmpNat2(Zero, x0)
new_ltEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs11(x0, x1)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_primPlusNat0(Zero, Zero)
new_esEs12(:(x0, x1), :(x2, x3), x4)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Ordering)
new_lt6(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare13(x0, x1, True)
new_compare12(x0, x1, True, x2, x3)
new_lt6(x0, x1, ty_Float)
new_sr(x0, x1)
new_ltEs8(Just(x0), Just(x1), ty_Int)
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_compare14(x0, x1, False, x2, x3)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_esEs30(x0, x1, app(ty_[], x2))
new_compare7(:%(x0, x1), :%(x2, x3), ty_Int)
new_ltEs4(Left(x0), Left(x1), ty_Int, x2)
new_esEs4(Just(x0), Just(x1), ty_Ordering)
new_primMulNat0(Zero, Succ(x0))
new_ltEs18(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_compare8(x0, x1)
new_lt12(x0, x1, x2, x3)
new_esEs29(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Bool)
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs8(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Ordering)
new_esEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs5(x0, x1)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, ty_Double)
new_lt15(x0, x1)
new_ltEs20(x0, x1, ty_Ordering)
new_lt6(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs8(Just(x0), Just(x1), ty_Bool)
new_ltEs4(Left(x0), Left(x1), ty_Integer, x2)
new_primPlusNat0(Succ(x0), Succ(x1))
new_esEs7(Right(x0), Right(x1), x2, ty_Double)
new_lt6(x0, x1, ty_Integer)
new_ltEs8(Just(x0), Just(x1), app(ty_[], x2))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_Bool, x2)
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Float)
new_ltEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs4(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_ltEs8(Just(x0), Just(x1), ty_Double)
new_esEs4(Just(x0), Just(x1), app(ty_[], x2))
new_esEs14(Integer(x0), Integer(x1))
new_ltEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs25(x0, x1, ty_Float)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primMulNat0(Succ(x0), Zero)
new_esEs10(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Double)
new_esEs16(Double(x0, x1), Double(x2, x3))
new_compare24(x0, x1, True, x2, x3)
new_compare6(x0, x1)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_compare32(x0, x1, x2)
new_lt5(x0, x1, ty_Bool)
new_lt13(x0, x1)
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCompAux0(x0, LT)
new_lt18(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs8(EQ, EQ)
new_compare13(x0, x1, False)
new_primPlusNat0(Zero, Succ(x0))
new_ltEs8(Just(x0), Just(x1), ty_Ordering)
new_ltEs19(x0, x1, ty_Integer)
new_esEs4(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs10(x0, x1, ty_Float)
new_lt17(x0, x1)
new_esEs4(Nothing, Just(x0), x1)
new_esEs22(x0, x1, ty_Int)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_esEs29(x0, x1, ty_@0)
new_esEs29(x0, x1, app(ty_[], x2))
new_compare19(x0, x1, False, x2, x3)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Char)
new_esEs7(Right(x0), Right(x1), x2, ty_Bool)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_compare24(Left(x0), Left(x1), False, x2, x3)
new_esEs11(x0, x1)
new_lt5(x0, x1, ty_Integer)
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_sr0(Integer(x0), Integer(x1))
new_lt6(x0, x1, ty_Bool)
new_esEs9(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Double)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs12(x0, x1)
new_esEs22(x0, x1, ty_Bool)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, ty_Float)
new_esEs29(x0, x1, ty_Integer)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Integer)
new_ltEs8(Nothing, Just(x0), x1)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs30(x0, x1, ty_@0)
new_esEs4(Nothing, Nothing, x0)
new_ltEs8(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs20(x0, x1, ty_Float)
new_ltEs4(Left(x0), Left(x1), ty_Float, x2)
new_compare18(x0, x1, x2, x3)
new_ltEs6(GT, GT)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, ty_Char)
new_ltEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_primMulInt(Neg(x0), Neg(x1))
new_lt5(x0, x1, app(ty_Maybe, x2))
new_esEs8(GT, EQ)
new_esEs8(EQ, GT)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, app(ty_Ratio, x2))
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_lt6(x0, x1, ty_Double)
new_lt6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_compare17(x0, x1, x2, x3, x4)
new_esEs24(x0, x1, ty_Integer)
new_primCmpNat0(Zero, Zero)
new_esEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_@0)
new_ltEs6(LT, LT)
new_esEs26(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_@0)
new_esEs28(x0, x1, ty_Ordering)
new_ltEs21(x0, x1, app(ty_[], x2))
new_ltEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs18(x0, x1, app(ty_[], x2))
new_compare111(x0, x1, False, x2, x3, x4)
new_esEs25(x0, x1, ty_Integer)
new_lt16(x0, x1, x2, x3)
new_primCmpNat0(Zero, Succ(x0))
new_ltEs9(x0, x1, x2)
new_esEs7(Right(x0), Right(x1), x2, ty_Integer)
new_esEs22(x0, x1, ty_Char)
new_compare31(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Char)
new_ltEs8(Just(x0), Just(x1), ty_@0)
new_primPlusNat0(Succ(x0), Zero)
new_esEs7(Right(x0), Right(x1), x2, ty_Char)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs4(Left(x0), Left(x1), ty_Char, x2)
new_lt19(x0, x1, x2, x3, x4)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs22(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_ltEs8(Just(x0), Just(x1), ty_Integer)
new_ltEs21(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Int)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs4(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_compare210(x0, x1, False, x2, x3, x4)
new_lt14(x0, x1)
new_compare25(x0, x1, True)
new_ltEs14(True, True)
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs14(False, False)
new_lt11(x0, x1, x2)
new_compare111(x0, x1, True, x2, x3, x4)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Double)
new_ltEs4(Right(x0), Right(x1), x2, ty_Int)
new_compare19(x0, x1, True, x2, x3)
new_esEs22(x0, x1, ty_Float)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_compare10(Float(x0, x1), Float(x2, x3))
new_esEs24(x0, x1, ty_Int)
new_not(True)
new_ltEs8(Just(x0), Just(x1), ty_Float)
new_esEs27(x0, x1, ty_Char)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs21(x0, x1, ty_@0)
new_esEs21(x0, x1, ty_@0)
new_esEs7(Right(x0), Right(x1), x2, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_esEs4(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Double)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_not(False)
new_compare31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt6(x0, x1, ty_Char)
new_ltEs4(Left(x0), Right(x1), x2, x3)
new_lt6(x0, x1, app(ty_Ratio, x2))
new_ltEs4(Right(x0), Left(x1), x2, x3)
new_esEs4(Just(x0), Just(x1), ty_Integer)
new_esEs26(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_@0)
new_compare25(x0, x1, False)
new_esEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs6(EQ, GT)
new_ltEs6(GT, EQ)
new_esEs13(:%(x0, x1), :%(x2, x3), x4)
new_compare31(x0, x1, ty_Integer)
new_ltEs18(x0, x1, ty_Double)
new_esEs7(Left(x0), Left(x1), ty_@0, x2)
new_esEs9(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_@0)
new_ltEs8(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs13(x0, x1)
new_ltEs4(Left(x0), Left(x1), ty_Double, x2)
new_ltEs8(Just(x0), Just(x1), ty_Char)
new_esEs15(Char(x0), Char(x1))
new_compare16(x0, x1)
new_ltEs15(x0, x1)
new_esEs9(x0, x1, ty_Float)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_asAs(True, x0)
new_esEs8(EQ, LT)
new_esEs8(LT, EQ)
new_esEs7(Left(x0), Left(x1), ty_Bool, x2)
new_compare0([], [], x0)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_primCompAux0(x0, GT)
new_ltEs18(x0, x1, ty_Ordering)
new_esEs9(x0, x1, ty_Int)
new_lt7(x0, x1)
new_ltEs8(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs20(x0, x1, ty_Bool)
new_esEs20(x0, x1, ty_Float)
new_compare31(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_@0)
new_esEs12([], [], x0)
new_esEs30(x0, x1, ty_Integer)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs17(False, True)
new_esEs17(True, False)
new_esEs30(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Char)
new_esEs7(Right(x0), Left(x1), x2, x3)
new_esEs7(Left(x0), Right(x1), x2, x3)
new_compare31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs17(True, True)
new_esEs23(x0, x1, ty_Int)
new_compare26(x0, x1, False)
new_esEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_primEqNat0(Zero, Succ(x0))
new_lt5(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpNat2(Succ(x0), x1)
new_esEs10(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_Bool)
new_esEs28(x0, x1, ty_@0)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_lt5(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare0([], :(x0, x1), x2)
new_esEs19(@0, @0)
new_compare11(x0, x1, False)
new_esEs20(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_Int)
new_compare110(x0, x1, True, x2)
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_esEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_compare11(x0, x1, True)
new_ltEs4(Right(x0), Right(x1), x2, ty_Char)
new_primPlusNat1(Succ(x0), x1)
new_esEs9(x0, x1, ty_@0)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_esEs30(x0, x1, ty_Double)
new_esEs30(x0, x1, ty_Ordering)
new_esEs30(x0, x1, ty_Int)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, ty_Char)
new_esEs30(x0, x1, ty_Bool)
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_esEs30(x0, x1, app(ty_[], x2))
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_esEs30(x0, x1, ty_@0)
new_esEs30(x0, x1, ty_Integer)
new_esEs30(x0, x1, ty_Float)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ AND
                                        ↳ QDP
                                        ↳ QDP
                                          ↳ UsableRulesProof
                                            ↳ QDP
                                              ↳ QReductionProof
QDP
                                                  ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_splitGT2(ywz48, ywz49, ywz50, ywz51, ywz52, ywz53, True, bc, bd, be) → new_splitGT(ywz52, ywz53, bc, bd, be)
new_splitGT(Branch(ywz440, ywz441, ywz442, ywz443, ywz444), ywz500, h, ba, bb) → new_splitGT3(ywz440, ywz441, ywz442, ywz443, ywz444, Left(ywz500), h, ba, bb)
new_splitGT20(ywz400, ywz41, ywz42, ywz43, Branch(ywz440, ywz441, ywz442, ywz443, ywz444), ywz500, True, h, ba, bb) → new_splitGT3(ywz440, ywz441, ywz442, ywz443, ywz444, Left(ywz500), h, ba, bb)
new_splitGT3(Left(ywz400), ywz41, ywz42, ywz43, ywz44, Left(ywz500), h, ba, bb) → new_splitGT2(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Left(ywz500), Left(ywz400), new_esEs29(ywz500, ywz400, h), h, ba), GT), h, ba, bb)
new_splitGT20(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba, bb) → new_splitGT10(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_lt16(Left(ywz500), Right(ywz400), h, ba), h, ba, bb)
new_splitGT10(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba, bb) → new_splitGT(ywz43, ywz500, h, ba, bb)
new_splitGT1(ywz48, ywz49, ywz50, ywz51, ywz52, ywz53, True, bc, bd, be) → new_splitGT(ywz51, ywz53, bc, bd, be)
new_splitGT3(Right(ywz400), ywz41, ywz42, ywz43, ywz44, Left(ywz500), h, ba, bb) → new_splitGT20(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Left(ywz500), Right(ywz400), False, h, ba), GT), h, ba, bb)
new_splitGT2(ywz48, ywz49, ywz50, ywz51, ywz52, ywz53, False, bc, bd, be) → new_splitGT1(ywz48, ywz49, ywz50, ywz51, ywz52, ywz53, new_lt16(Left(ywz53), Left(ywz48), bc, bd), bc, bd, be)

The TRS R consists of the following rules:

new_compare24(Left(ywz500), Right(ywz400), False, h, ba) → LT
new_esEs8(GT, GT) → True
new_esEs8(LT, GT) → False
new_esEs8(EQ, GT) → False
new_lt16(ywz50, ywz40, h, ba) → new_esEs8(new_compare18(ywz50, ywz40, h, ba), LT)
new_compare18(ywz50, ywz40, h, ba) → new_compare24(ywz50, ywz40, new_esEs7(ywz50, ywz40, h, ba), h, ba)
new_esEs8(LT, LT) → True
new_esEs8(GT, LT) → False
new_esEs8(EQ, LT) → False
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Integer, ca) → new_esEs14(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Right(ywz4000), de, ca) → False
new_esEs7(Right(ywz5000), Left(ywz4000), de, ca) → False
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(ty_@2, ea), eb)) → new_esEs5(ywz5000, ywz4000, ea, eb)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Int, ca) → new_esEs11(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_@2, ce), cf), ca) → new_esEs5(ywz5000, ywz4000, ce, cf)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Ordering, ca) → new_esEs8(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(app(ty_@3, ee), ef), eg)) → new_esEs6(ywz5000, ywz4000, ee, ef, eg)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_Ratio, dh)) → new_esEs13(ywz5000, ywz4000, dh)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Ratio, cd), ca) → new_esEs13(ywz5000, ywz4000, cd)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_[], df)) → new_esEs12(ywz5000, ywz4000, df)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_[], cb), ca) → new_esEs12(ywz5000, ywz4000, cb)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Double, ca) → new_esEs16(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Float, ca) → new_esEs18(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, db), dc), dd), ca) → new_esEs6(ywz5000, ywz4000, db, dc, dd)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Bool, ca) → new_esEs17(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_@0, ca) → new_esEs19(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Char, ca) → new_esEs15(ywz5000, ywz4000)
new_compare24(Left(ywz500), Left(ywz400), False, h, ba) → new_compare14(ywz500, ywz400, new_ltEs19(ywz500, ywz400, h), h, ba)
new_compare24(ywz50, ywz40, True, h, ba) → EQ
new_compare24(Right(ywz500), Left(ywz400), False, h, ba) → GT
new_compare24(Right(ywz500), Right(ywz400), False, h, ba) → new_compare12(ywz500, ywz400, new_ltEs20(ywz500, ywz400, ba), h, ba)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cg), da), ca) → new_esEs7(ywz5000, ywz4000, cg, da)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhh), caa)) → new_esEs7(ywz5000, ywz4000, bhh, caa)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bhd)) → new_esEs4(ywz5000, ywz4000, bhd)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(ty_Either, ec), ed)) → new_esEs7(ywz5000, ywz4000, ec, ed)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Maybe, cc), ca) → new_esEs4(ywz5000, ywz4000, cc)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_Maybe, dg)) → new_esEs4(ywz5000, ywz4000, dg)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs4(Nothing, Just(ywz4000), bfe) → False
new_esEs4(Just(ywz5000), Nothing, bfe) → False
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cab), cac), cad)) → new_esEs6(ywz5000, ywz4000, cab, cac, cad)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_[], bhc)) → new_esEs12(ywz5000, ywz4000, bhc)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bhf), bhg)) → new_esEs5(ywz5000, ywz4000, bhf, bhg)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs4(Nothing, Nothing, bfe) → True
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhe)) → new_esEs13(ywz5000, ywz4000, bhe)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs15(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_esEs19(@0, @0) → True
new_esEs11(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs16(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_sr(ywz5000, ywz4000) → new_primMulInt(ywz5000, ywz4000)
new_primMulInt(Pos(ywz50000), Pos(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Neg(ywz50000), Neg(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Neg(ywz50000), Pos(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Pos(ywz50000), Neg(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(ywz500000), Succ(ywz400000)) → new_primPlusNat1(new_primMulNat0(ywz500000, Succ(ywz400000)), ywz400000)
new_primMulNat0(Succ(ywz500000), Zero) → Zero
new_primMulNat0(Zero, Succ(ywz400000)) → Zero
new_primPlusNat1(Zero, ywz400000) → Succ(ywz400000)
new_primPlusNat1(Succ(ywz2480), ywz400000) → Succ(Succ(new_primPlusNat0(ywz2480, ywz400000)))
new_primPlusNat0(Zero, Succ(ywz4000000)) → Succ(ywz4000000)
new_primPlusNat0(Succ(ywz24800), Zero) → Succ(ywz24800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(ywz24800), Succ(ywz4000000)) → Succ(Succ(new_primPlusNat0(ywz24800, ywz4000000)))
new_esEs13(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), bff) → new_asAs(new_esEs24(ywz5000, ywz4000, bff), new_esEs23(ywz5001, ywz4001, bff))
new_esEs24(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs24(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs23(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs23(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_asAs(False, ywz142) → False
new_asAs(True, ywz142) → ywz142
new_esEs14(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_esEs18(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs5(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcg, bch) → new_asAs(new_esEs22(ywz5000, ywz4000, bcg), new_esEs21(ywz5001, ywz4001, bch))
new_esEs22(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_esEs5(ywz5000, ywz4000, bef, beg)
new_esEs22(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_esEs7(ywz5000, ywz4000, beh, bfa)
new_esEs22(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs22(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_esEs4(ywz5000, ywz4000, bed)
new_esEs22(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_esEs13(ywz5000, ywz4000, bee)
new_esEs22(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(ty_[], bec)) → new_esEs12(ywz5000, ywz4000, bec)
new_esEs22(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bdc)) → new_esEs13(ywz5001, ywz4001, bdc)
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bdd), bde)) → new_esEs5(ywz5001, ywz4001, bdd, bde)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_[], bda)) → new_esEs12(ywz5001, ywz4001, bda)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bdf), bdg)) → new_esEs7(ywz5001, ywz4001, bdf, bdg)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bdb)) → new_esEs4(ywz5001, ywz4001, bdb)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bdh), bea), beb)) → new_esEs6(ywz5001, ywz4001, bdh, bea, beb)
new_esEs6(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), eh, fa, fb) → new_asAs(new_esEs27(ywz5000, ywz4000, eh), new_asAs(new_esEs26(ywz5001, ywz4001, fa), new_esEs25(ywz5002, ywz4002, fb)))
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_esEs7(ywz5000, ywz4000, ga, gb)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_esEs13(ywz5000, ywz4000, ff)
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_esEs6(ywz5000, ywz4000, gc, gd, ge)
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_esEs5(ywz5000, ywz4000, fg, fh)
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_esEs4(ywz5000, ywz4000, fd)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_[], fc)) → new_esEs12(ywz5000, ywz4000, fc)
new_esEs26(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_esEs4(ywz5001, ywz4001, gg)
new_esEs26(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_esEs13(ywz5001, ywz4001, gh)
new_esEs26(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_esEs6(ywz5001, ywz4001, he, hf, hg)
new_esEs26(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_esEs7(ywz5001, ywz4001, hc, hd)
new_esEs26(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_esEs5(ywz5001, ywz4001, ha, hb)
new_esEs26(ywz5001, ywz4001, app(ty_[], gf)) → new_esEs12(ywz5001, ywz4001, gf)
new_esEs26(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, ty_Bool) → new_esEs17(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Double) → new_esEs16(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Ordering) → new_esEs8(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(ty_Ratio, bab)) → new_esEs13(ywz5002, ywz4002, bab)
new_esEs25(ywz5002, ywz4002, app(ty_[], hh)) → new_esEs12(ywz5002, ywz4002, hh)
new_esEs25(ywz5002, ywz4002, app(ty_Maybe, baa)) → new_esEs4(ywz5002, ywz4002, baa)
new_esEs25(ywz5002, ywz4002, ty_@0) → new_esEs19(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Float) → new_esEs18(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Integer) → new_esEs14(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(app(app(ty_@3, bag), bah), bba)) → new_esEs6(ywz5002, ywz4002, bag, bah, bba)
new_esEs25(ywz5002, ywz4002, ty_Char) → new_esEs15(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(app(ty_@2, bac), bad)) → new_esEs5(ywz5002, ywz4002, bac, bad)
new_esEs25(ywz5002, ywz4002, ty_Int) → new_esEs11(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(app(ty_Either, bae), baf)) → new_esEs7(ywz5002, ywz4002, bae, baf)
new_esEs12(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bbd) → new_asAs(new_esEs20(ywz5000, ywz4000, bbd), new_esEs12(ywz5001, ywz4001, bbd))
new_esEs12([], [], bbd) → True
new_esEs12(:(ywz5000, ywz5001), [], bbd) → False
new_esEs12([], :(ywz4000, ywz4001), bbd) → False
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bbf)) → new_esEs4(ywz5000, ywz4000, bbf)
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bbg)) → new_esEs13(ywz5000, ywz4000, bbg)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, bbh), bca)) → new_esEs5(ywz5000, ywz4000, bbh, bca)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bcd), bce), bcf)) → new_esEs6(ywz5000, ywz4000, bcd, bce, bcf)
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_[], bbe)) → new_esEs12(ywz5000, ywz4000, bbe)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, bcb), bcc)) → new_esEs7(ywz5000, ywz4000, bcb, bcc)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs8(EQ, EQ) → True
new_esEs8(LT, EQ) → False
new_esEs8(GT, EQ) → False
new_esEs17(True, True) → True
new_esEs17(False, False) → True
new_esEs17(False, True) → False
new_esEs17(True, False) → False
new_ltEs20(ywz500, ywz400, app(ty_Ratio, bga)) → new_ltEs9(ywz500, ywz400, bga)
new_ltEs20(ywz500, ywz400, app(ty_[], bfg)) → new_ltEs7(ywz500, ywz400, bfg)
new_ltEs20(ywz500, ywz400, app(ty_Maybe, bfh)) → new_ltEs8(ywz500, ywz400, bfh)
new_ltEs20(ywz500, ywz400, app(app(ty_Either, bgd), bge)) → new_ltEs4(ywz500, ywz400, bgd, bge)
new_ltEs20(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, app(app(app(ty_@3, bgf), bgg), bgh)) → new_ltEs17(ywz500, ywz400, bgf, bgg, bgh)
new_ltEs20(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, app(app(ty_@2, bgb), bgc)) → new_ltEs10(ywz500, ywz400, bgb, bgc)
new_compare12(ywz154, ywz155, False, bbb, bbc) → GT
new_compare12(ywz154, ywz155, True, bbb, bbc) → LT
new_ltEs10(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcg, bch) → new_pePe(new_lt20(ywz5000, ywz4000, bcg), new_asAs(new_esEs28(ywz5000, ywz4000, bcg), new_ltEs21(ywz5001, ywz4001, bch)))
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(ty_[], bec)) → new_lt9(ywz5000, ywz4000, bec)
new_lt20(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_lt11(ywz5000, ywz4000, bee)
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_lt16(ywz5000, ywz4000, beh, bfa)
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_lt12(ywz5000, ywz4000, bef, beg)
new_lt20(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_lt10(ywz5000, ywz4000, bed)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_lt19(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs28(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_esEs4(ywz5000, ywz4000, bed)
new_esEs28(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_esEs7(ywz5000, ywz4000, beh, bfa)
new_esEs28(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_esEs5(ywz5000, ywz4000, bef, beg)
new_esEs28(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs28(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_esEs13(ywz5000, ywz4000, bee)
new_esEs28(ywz5000, ywz4000, app(ty_[], bec)) → new_esEs12(ywz5000, ywz4000, bec)
new_esEs28(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, app(app(app(ty_@3, bdh), bea), beb)) → new_ltEs17(ywz5001, ywz4001, bdh, bea, beb)
new_ltEs21(ywz5001, ywz4001, ty_Int) → new_ltEs5(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Double) → new_ltEs13(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, app(ty_[], bda)) → new_ltEs7(ywz5001, ywz4001, bda)
new_ltEs21(ywz5001, ywz4001, app(app(ty_Either, bdf), bdg)) → new_ltEs4(ywz5001, ywz4001, bdf, bdg)
new_ltEs21(ywz5001, ywz4001, ty_Char) → new_ltEs12(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, app(ty_Ratio, bdc)) → new_ltEs9(ywz5001, ywz4001, bdc)
new_ltEs21(ywz5001, ywz4001, app(ty_Maybe, bdb)) → new_ltEs8(ywz5001, ywz4001, bdb)
new_ltEs21(ywz5001, ywz4001, ty_@0) → new_ltEs16(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Integer) → new_ltEs11(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Bool) → new_ltEs14(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, app(app(ty_@2, bdd), bde)) → new_ltEs10(ywz5001, ywz4001, bdd, bde)
new_ltEs21(ywz5001, ywz4001, ty_Ordering) → new_ltEs6(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Float) → new_ltEs15(ywz5001, ywz4001)
new_pePe(False, ywz225) → ywz225
new_pePe(True, ywz225) → True
new_ltEs15(ywz500, ywz400) → new_not(new_esEs8(new_compare10(ywz500, ywz400), GT))
new_compare10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_not(False) → True
new_not(True) → False
new_compare8(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat1(ywz50000, ywz4000)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat2(ywz4000, ywz50000)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat2(Zero, ywz40000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat1(ywz40000, Zero)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_primCmpNat1(ywz50000, Zero) → GT
new_primCmpNat2(Zero, ywz50000) → LT
new_primCmpNat2(Succ(ywz40000), ywz50000) → new_primCmpNat0(ywz40000, ywz50000)
new_primCmpNat0(Zero, Succ(ywz400000)) → LT
new_primCmpNat0(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat0(ywz500000, ywz400000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(ywz500000), Zero) → GT
new_primCmpNat1(ywz50000, Succ(ywz40000)) → new_primCmpNat0(ywz50000, ywz40000)
new_ltEs6(GT, EQ) → False
new_ltEs6(EQ, GT) → True
new_ltEs6(EQ, EQ) → True
new_ltEs6(GT, GT) → True
new_ltEs6(LT, LT) → True
new_ltEs6(EQ, LT) → False
new_ltEs6(LT, GT) → True
new_ltEs6(LT, EQ) → True
new_ltEs6(GT, LT) → False
new_ltEs14(False, True) → True
new_ltEs14(False, False) → True
new_ltEs14(True, True) → True
new_ltEs14(True, False) → False
new_ltEs11(ywz500, ywz400) → new_not(new_esEs8(new_compare9(ywz500, ywz400), GT))
new_compare9(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_ltEs16(ywz500, ywz400) → new_not(new_esEs8(new_compare28(ywz500, ywz400), GT))
new_compare28(@0, @0) → EQ
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhe)) → new_ltEs9(ywz5000, ywz4000, bhe)
new_ltEs8(Nothing, Just(ywz4000), bfe) → True
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_[], bhc)) → new_ltEs7(ywz5000, ywz4000, bhc)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cab), cac), cad)) → new_ltEs17(ywz5000, ywz4000, cab, cac, cad)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Nothing, bfe) → False
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, cc), ca) → new_ltEs8(ywz5000, ywz4000, cc)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bhd)) → new_ltEs8(ywz5000, ywz4000, bhd)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(ty_Either, ec), ed)) → new_ltEs4(ywz5000, ywz4000, ec, ed)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cg), da), ca) → new_ltEs4(ywz5000, ywz4000, cg, da)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_Maybe, dg)) → new_ltEs8(ywz5000, ywz4000, dg)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhh), caa)) → new_ltEs4(ywz5000, ywz4000, bhh, caa)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_ltEs8(Nothing, Nothing, bfe) → True
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bhf), bhg)) → new_ltEs10(ywz5000, ywz4000, bhf, bhg)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_ltEs12(ywz500, ywz400) → new_not(new_esEs8(new_compare5(ywz500, ywz400), GT))
new_compare5(Char(ywz5000), Char(ywz4000)) → new_primCmpNat0(ywz5000, ywz4000)
new_ltEs5(ywz500, ywz400) → new_not(new_esEs8(new_compare8(ywz500, ywz400), GT))
new_ltEs13(ywz500, ywz400) → new_not(new_esEs8(new_compare15(ywz500, ywz400), GT))
new_compare15(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Int, ca) → new_ltEs5(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Double, ca) → new_ltEs13(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, ce), cf), ca) → new_ltEs10(ywz5000, ywz4000, ce, cf)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Char, ca) → new_ltEs12(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, db), dc), dd), ca) → new_ltEs17(ywz5000, ywz4000, db, dc, dd)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, ca) → new_ltEs6(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Right(ywz4000), de, ca) → True
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Bool, ca) → new_ltEs14(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, cd), ca) → new_ltEs9(ywz5000, ywz4000, cd)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_@0, ca) → new_ltEs16(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(app(ty_@3, ee), ef), eg)) → new_ltEs17(ywz5000, ywz4000, ee, ef, eg)
new_ltEs4(Right(ywz5000), Left(ywz4000), de, ca) → False
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_Ratio, dh)) → new_ltEs9(ywz5000, ywz4000, dh)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(ty_@2, ea), eb)) → new_ltEs10(ywz5000, ywz4000, ea, eb)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Float, ca) → new_ltEs15(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_[], cb), ca) → new_ltEs7(ywz5000, ywz4000, cb)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_[], df)) → new_ltEs7(ywz5000, ywz4000, df)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Integer, ca) → new_ltEs11(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, bbd) → new_not(new_esEs8(new_compare0(ywz500, ywz400, bbd), GT))
new_compare0([], [], bbd) → EQ
new_compare0(:(ywz5000, ywz5001), [], bbd) → GT
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bbd) → new_primCompAux1(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, bbd), bbd)
new_compare0([], :(ywz4000, ywz4001), bbd) → LT
new_primCompAux1(ywz5000, ywz4000, ywz290, bbd) → new_primCompAux0(ywz290, new_compare31(ywz5000, ywz4000, bbd))
new_compare31(ywz5000, ywz4000, ty_Double) → new_compare15(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Int) → new_compare8(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Ordering) → new_compare16(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(app(ty_Either, bcb), bcc)) → new_compare18(ywz5000, ywz4000, bcb, bcc)
new_compare31(ywz5000, ywz4000, ty_@0) → new_compare28(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_Maybe, bbf)) → new_compare32(ywz5000, ywz4000, bbf)
new_compare31(ywz5000, ywz4000, app(app(app(ty_@3, bcd), bce), bcf)) → new_compare17(ywz5000, ywz4000, bcd, bce, bcf)
new_compare31(ywz5000, ywz4000, ty_Bool) → new_compare6(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(app(ty_@2, bbh), bca)) → new_compare30(ywz5000, ywz4000, bbh, bca)
new_compare31(ywz5000, ywz4000, ty_Integer) → new_compare9(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_Ratio, bbg)) → new_compare7(ywz5000, ywz4000, bbg)
new_compare31(ywz5000, ywz4000, ty_Char) → new_compare5(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_[], bbe)) → new_compare0(ywz5000, ywz4000, bbe)
new_compare31(ywz5000, ywz4000, ty_Float) → new_compare10(ywz5000, ywz4000)
new_primCompAux0(ywz333, GT) → GT
new_primCompAux0(ywz333, LT) → LT
new_primCompAux0(ywz333, EQ) → ywz333
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare8(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare9(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_sr0(Integer(ywz50000), Integer(ywz40010)) → Integer(new_primMulInt(ywz50000, ywz40010))
new_compare30(ywz5000, ywz4000, bef, beg) → new_compare27(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bef, beg), bef, beg)
new_compare27(ywz5000, ywz4000, True, bef, beg) → EQ
new_compare27(ywz5000, ywz4000, False, bef, beg) → new_compare19(ywz5000, ywz4000, new_ltEs10(ywz5000, ywz4000, bef, beg), bef, beg)
new_compare19(ywz5000, ywz4000, True, bef, beg) → LT
new_compare19(ywz5000, ywz4000, False, bef, beg) → GT
new_compare6(ywz5000, ywz4000) → new_compare25(ywz5000, ywz4000, new_esEs17(ywz5000, ywz4000))
new_compare25(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs14(ywz5000, ywz4000))
new_compare25(ywz5000, ywz4000, True) → EQ
new_compare11(ywz5000, ywz4000, False) → GT
new_compare11(ywz5000, ywz4000, True) → LT
new_compare17(ywz5000, ywz4000, bfb, bfc, bfd) → new_compare210(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd), bfb, bfc, bfd)
new_compare210(ywz5000, ywz4000, True, bfb, bfc, bfd) → EQ
new_compare210(ywz5000, ywz4000, False, bfb, bfc, bfd) → new_compare111(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000, bfb, bfc, bfd), bfb, bfc, bfd)
new_ltEs17(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), eh, fa, fb) → new_pePe(new_lt5(ywz5000, ywz4000, eh), new_asAs(new_esEs10(ywz5000, ywz4000, eh), new_pePe(new_lt6(ywz5001, ywz4001, fa), new_asAs(new_esEs9(ywz5001, ywz4001, fa), new_ltEs18(ywz5002, ywz4002, fb)))))
new_compare111(ywz5000, ywz4000, True, bfb, bfc, bfd) → LT
new_compare111(ywz5000, ywz4000, False, bfb, bfc, bfd) → GT
new_lt5(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_lt19(ywz5000, ywz4000, gc, gd, ge)
new_lt5(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_lt16(ywz5000, ywz4000, ga, gb)
new_lt5(ywz5000, ywz4000, app(ty_[], fc)) → new_lt9(ywz5000, ywz4000, fc)
new_lt5(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_lt11(ywz5000, ywz4000, ff)
new_lt5(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_lt12(ywz5000, ywz4000, fg, fh)
new_lt5(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_lt10(ywz5000, ywz4000, fd)
new_lt5(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(ty_[], fc)) → new_esEs12(ywz5000, ywz4000, fc)
new_esEs10(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_esEs7(ywz5000, ywz4000, ga, gb)
new_esEs10(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_esEs5(ywz5000, ywz4000, fg, fh)
new_esEs10(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_esEs6(ywz5000, ywz4000, gc, gd, ge)
new_esEs10(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_esEs13(ywz5000, ywz4000, ff)
new_esEs10(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_esEs4(ywz5000, ywz4000, fd)
new_esEs10(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, ty_Bool) → new_lt4(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, ty_Char) → new_lt14(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, ty_Ordering) → new_lt8(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_lt11(ywz5001, ywz4001, gh)
new_lt6(ywz5001, ywz4001, ty_Float) → new_lt17(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, ty_Double) → new_lt15(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(ty_[], gf)) → new_lt9(ywz5001, ywz4001, gf)
new_lt6(ywz5001, ywz4001, ty_Integer) → new_lt13(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_lt19(ywz5001, ywz4001, he, hf, hg)
new_lt6(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_lt10(ywz5001, ywz4001, gg)
new_lt6(ywz5001, ywz4001, ty_Int) → new_lt7(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_lt16(ywz5001, ywz4001, hc, hd)
new_lt6(ywz5001, ywz4001, ty_@0) → new_lt18(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_lt12(ywz5001, ywz4001, ha, hb)
new_esEs9(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(ty_[], gf)) → new_esEs12(ywz5001, ywz4001, gf)
new_esEs9(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_esEs13(ywz5001, ywz4001, gh)
new_esEs9(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_esEs5(ywz5001, ywz4001, ha, hb)
new_esEs9(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_esEs4(ywz5001, ywz4001, gg)
new_esEs9(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_esEs6(ywz5001, ywz4001, he, hf, hg)
new_esEs9(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_esEs7(ywz5001, ywz4001, hc, hd)
new_ltEs18(ywz5002, ywz4002, ty_Float) → new_ltEs15(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(ty_Ratio, bab)) → new_ltEs9(ywz5002, ywz4002, bab)
new_ltEs18(ywz5002, ywz4002, app(ty_[], hh)) → new_ltEs7(ywz5002, ywz4002, hh)
new_ltEs18(ywz5002, ywz4002, ty_Double) → new_ltEs13(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Int) → new_ltEs5(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Ordering) → new_ltEs6(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(app(ty_@2, bac), bad)) → new_ltEs10(ywz5002, ywz4002, bac, bad)
new_ltEs18(ywz5002, ywz4002, ty_@0) → new_ltEs16(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Integer) → new_ltEs11(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(app(ty_Either, bae), baf)) → new_ltEs4(ywz5002, ywz4002, bae, baf)
new_ltEs18(ywz5002, ywz4002, app(app(app(ty_@3, bag), bah), bba)) → new_ltEs17(ywz5002, ywz4002, bag, bah, bba)
new_ltEs18(ywz5002, ywz4002, ty_Bool) → new_ltEs14(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Char) → new_ltEs12(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(ty_Maybe, baa)) → new_ltEs8(ywz5002, ywz4002, baa)
new_ltEs9(ywz500, ywz400, bff) → new_not(new_esEs8(new_compare7(ywz500, ywz400, bff), GT))
new_lt12(ywz5000, ywz4000, bef, beg) → new_esEs8(new_compare30(ywz5000, ywz4000, bef, beg), LT)
new_lt18(ywz5000, ywz4000) → new_esEs8(new_compare28(ywz5000, ywz4000), LT)
new_lt7(ywz5000, ywz4000) → new_esEs8(new_compare8(ywz5000, ywz4000), LT)
new_lt10(ywz5000, ywz4000, bed) → new_esEs8(new_compare32(ywz5000, ywz4000, bed), LT)
new_compare32(ywz5000, ywz4000, bed) → new_compare29(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, bed), bed)
new_compare29(ywz5000, ywz4000, False, bed) → new_compare110(ywz5000, ywz4000, new_ltEs8(ywz5000, ywz4000, bed), bed)
new_compare29(ywz5000, ywz4000, True, bed) → EQ
new_compare110(ywz5000, ywz4000, True, bed) → LT
new_compare110(ywz5000, ywz4000, False, bed) → GT
new_lt19(ywz5000, ywz4000, bfb, bfc, bfd) → new_esEs8(new_compare17(ywz5000, ywz4000, bfb, bfc, bfd), LT)
new_lt13(ywz5000, ywz4000) → new_esEs8(new_compare9(ywz5000, ywz4000), LT)
new_lt9(ywz5000, ywz4000, bec) → new_esEs8(new_compare0(ywz5000, ywz4000, bec), LT)
new_lt15(ywz5000, ywz4000) → new_esEs8(new_compare15(ywz5000, ywz4000), LT)
new_lt17(ywz5000, ywz4000) → new_esEs8(new_compare10(ywz5000, ywz4000), LT)
new_lt11(ywz5000, ywz4000, bee) → new_esEs8(new_compare7(ywz5000, ywz4000, bee), LT)
new_lt8(ywz5000, ywz4000) → new_esEs8(new_compare16(ywz5000, ywz4000), LT)
new_compare16(ywz5000, ywz4000) → new_compare26(ywz5000, ywz4000, new_esEs8(ywz5000, ywz4000))
new_compare26(ywz5000, ywz4000, False) → new_compare13(ywz5000, ywz4000, new_ltEs6(ywz5000, ywz4000))
new_compare26(ywz5000, ywz4000, True) → EQ
new_compare13(ywz5000, ywz4000, False) → GT
new_compare13(ywz5000, ywz4000, True) → LT
new_lt14(ywz5000, ywz4000) → new_esEs8(new_compare5(ywz5000, ywz4000), LT)
new_lt4(ywz5000, ywz4000) → new_esEs8(new_compare6(ywz5000, ywz4000), LT)
new_ltEs19(ywz500, ywz400, app(app(ty_Either, de), ca)) → new_ltEs4(ywz500, ywz400, de, ca)
new_ltEs19(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(app(ty_@2, bcg), bch)) → new_ltEs10(ywz500, ywz400, bcg, bch)
new_ltEs19(ywz500, ywz400, app(ty_Ratio, bff)) → new_ltEs9(ywz500, ywz400, bff)
new_ltEs19(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(ty_Maybe, bfe)) → new_ltEs8(ywz500, ywz400, bfe)
new_ltEs19(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(ty_[], bbd)) → new_ltEs7(ywz500, ywz400, bbd)
new_ltEs19(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(app(app(ty_@3, eh), fa), fb)) → new_ltEs17(ywz500, ywz400, eh, fa, fb)
new_ltEs19(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_compare14(ywz147, ywz148, False, bha, bhb) → GT
new_compare14(ywz147, ywz148, True, bha, bhb) → LT
new_esEs29(ywz500, ywz400, ty_Float) → new_esEs18(ywz500, ywz400)
new_esEs29(ywz500, ywz400, ty_Double) → new_esEs16(ywz500, ywz400)
new_esEs29(ywz500, ywz400, app(ty_Ratio, bff)) → new_esEs13(ywz500, ywz400, bff)
new_esEs29(ywz500, ywz400, ty_@0) → new_esEs19(ywz500, ywz400)
new_esEs29(ywz500, ywz400, app(ty_[], bbd)) → new_esEs12(ywz500, ywz400, bbd)
new_esEs29(ywz500, ywz400, app(app(ty_@2, bcg), bch)) → new_esEs5(ywz500, ywz400, bcg, bch)
new_esEs29(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_esEs29(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_esEs29(ywz500, ywz400, ty_Bool) → new_esEs17(ywz500, ywz400)
new_esEs29(ywz500, ywz400, ty_Int) → new_esEs11(ywz500, ywz400)
new_esEs29(ywz500, ywz400, app(app(app(ty_@3, eh), fa), fb)) → new_esEs6(ywz500, ywz400, eh, fa, fb)
new_esEs29(ywz500, ywz400, app(app(ty_Either, de), ca)) → new_esEs7(ywz500, ywz400, de, ca)
new_esEs29(ywz500, ywz400, app(ty_Maybe, bfe)) → new_esEs4(ywz500, ywz400, bfe)
new_esEs29(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)

The set Q consists of the following terms:

new_esEs7(Left(x0), Left(x1), ty_Int, x2)
new_esEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs21(x0, x1, ty_Int)
new_compare24(Right(x0), Right(x1), False, x2, x3)
new_esEs18(Float(x0, x1), Float(x2, x3))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs16(x0, x1)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_primCmpNat1(x0, Succ(x1))
new_esEs20(x0, x1, ty_Double)
new_lt6(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Double)
new_compare27(x0, x1, True, x2, x3)
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Int)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt9(x0, x1, x2)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_ltEs21(x0, x1, ty_Ordering)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_primCompAux0(x0, EQ)
new_esEs29(x0, x1, ty_Double)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, ty_Bool)
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Bool)
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, ty_Int)
new_esEs22(x0, x1, ty_Ordering)
new_compare15(Double(x0, x1), Double(x2, x3))
new_esEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_lt6(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_primCmpNat0(Succ(x0), Zero)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_lt4(x0, x1)
new_ltEs21(x0, x1, ty_Double)
new_lt10(x0, x1, x2)
new_compare5(Char(x0), Char(x1))
new_esEs29(x0, x1, ty_Ordering)
new_esEs29(x0, x1, ty_Bool)
new_ltEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs14(True, False)
new_ltEs14(False, True)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs20(x0, x1, ty_Ordering)
new_lt8(x0, x1)
new_esEs8(GT, GT)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(x0, x1, x2)
new_esEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_lt20(x0, x1, app(ty_[], x2))
new_compare14(x0, x1, True, x2, x3)
new_compare30(x0, x1, x2, x3)
new_esEs26(x0, x1, ty_Int)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_Integer)
new_esEs7(Left(x0), Left(x1), ty_Integer, x2)
new_esEs8(LT, LT)
new_esEs26(x0, x1, ty_Float)
new_primPlusNat1(Zero, x0)
new_ltEs19(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_compare27(x0, x1, False, x2, x3)
new_lt20(x0, x1, ty_Int)
new_primEqNat0(Succ(x0), Succ(x1))
new_compare0(:(x0, x1), [], x2)
new_ltEs19(x0, x1, ty_Float)
new_esEs17(False, False)
new_lt20(x0, x1, ty_Integer)
new_esEs7(Right(x0), Right(x1), x2, ty_Float)
new_esEs27(x0, x1, ty_Float)
new_lt5(x0, x1, ty_Int)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_compare210(x0, x1, True, x2, x3, x4)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Bool)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, ty_Bool)
new_ltEs6(EQ, EQ)
new_pePe(False, x0)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_compare12(x0, x1, False, x2, x3)
new_esEs7(Left(x0), Left(x1), ty_Char, x2)
new_esEs8(LT, GT)
new_esEs8(GT, LT)
new_ltEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_compare9(Integer(x0), Integer(x1))
new_pePe(True, x0)
new_esEs28(x0, x1, ty_Int)
new_esEs7(Left(x0), Left(x1), ty_Float, x2)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs4(Just(x0), Just(x1), ty_@0)
new_esEs4(Just(x0), Just(x1), ty_Int)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs6(LT, EQ)
new_ltEs20(x0, x1, ty_@0)
new_ltEs6(EQ, LT)
new_compare7(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_primEqNat0(Zero, Zero)
new_ltEs19(x0, x1, ty_Double)
new_esEs7(Right(x0), Right(x1), x2, ty_Int)
new_ltEs8(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs19(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Bool)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Char)
new_compare26(x0, x1, True)
new_esEs12(:(x0, x1), [], x2)
new_compare110(x0, x1, False, x2)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs4(Right(x0), Right(x1), x2, ty_Integer)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_ltEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_compare29(x0, x1, False, x2)
new_esEs4(Just(x0), Just(x1), app(ty_Ratio, x2))
new_lt6(x0, x1, app(ty_Maybe, x2))
new_compare28(@0, @0)
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs28(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Char)
new_primMulNat0(Zero, Zero)
new_esEs28(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, ty_@0)
new_ltEs21(x0, x1, ty_Float)
new_esEs9(x0, x1, ty_Integer)
new_ltEs10(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt20(x0, x1, ty_@0)
new_primCompAux1(x0, x1, x2, x3)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Double)
new_lt6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs19(x0, x1, ty_Int)
new_compare29(x0, x1, True, x2)
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs22(x0, x1, ty_@0)
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_ltEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs9(x0, x1, ty_Bool)
new_esEs4(Just(x0), Just(x1), ty_Float)
new_lt5(x0, x1, ty_@0)
new_esEs10(x0, x1, ty_Ordering)
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_esEs12([], :(x0, x1), x2)
new_ltEs8(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs7(Left(x0), Left(x1), ty_Double, x2)
new_esEs28(x0, x1, ty_Integer)
new_lt6(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Double)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs8(Nothing, Nothing, x0)
new_esEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs20(x0, x1, ty_@0)
new_esEs25(x0, x1, ty_Int)
new_ltEs20(x0, x1, ty_Int)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, ty_Char)
new_compare24(Left(x0), Right(x1), False, x2, x3)
new_compare24(Right(x0), Left(x1), False, x2, x3)
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs18(x0, x1, ty_Char)
new_esEs21(x0, x1, ty_Integer)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_asAs(False, x0)
new_esEs25(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, ty_Char)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_primMulNat0(Succ(x0), Succ(x1))
new_ltEs4(Right(x0), Right(x1), x2, ty_@0)
new_esEs22(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), ty_Double)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, ty_Ordering)
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_primCmpNat1(x0, Zero)
new_primCmpNat2(Zero, x0)
new_ltEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs11(x0, x1)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_primPlusNat0(Zero, Zero)
new_esEs12(:(x0, x1), :(x2, x3), x4)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Ordering)
new_lt6(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare13(x0, x1, True)
new_compare12(x0, x1, True, x2, x3)
new_lt6(x0, x1, ty_Float)
new_sr(x0, x1)
new_ltEs8(Just(x0), Just(x1), ty_Int)
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_compare14(x0, x1, False, x2, x3)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_compare7(:%(x0, x1), :%(x2, x3), ty_Int)
new_ltEs4(Left(x0), Left(x1), ty_Int, x2)
new_esEs4(Just(x0), Just(x1), ty_Ordering)
new_primMulNat0(Zero, Succ(x0))
new_ltEs18(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_compare8(x0, x1)
new_lt12(x0, x1, x2, x3)
new_esEs29(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Bool)
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs8(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Ordering)
new_esEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs5(x0, x1)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, ty_Double)
new_lt15(x0, x1)
new_ltEs20(x0, x1, ty_Ordering)
new_lt6(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs8(Just(x0), Just(x1), ty_Bool)
new_ltEs4(Left(x0), Left(x1), ty_Integer, x2)
new_primPlusNat0(Succ(x0), Succ(x1))
new_esEs7(Right(x0), Right(x1), x2, ty_Double)
new_lt6(x0, x1, ty_Integer)
new_ltEs8(Just(x0), Just(x1), app(ty_[], x2))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs4(Right(x0), Right(x1), x2, ty_Float)
new_ltEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs4(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_ltEs8(Just(x0), Just(x1), ty_Double)
new_esEs4(Just(x0), Just(x1), app(ty_[], x2))
new_esEs14(Integer(x0), Integer(x1))
new_ltEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs25(x0, x1, ty_Float)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primMulNat0(Succ(x0), Zero)
new_esEs10(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Double)
new_esEs16(Double(x0, x1), Double(x2, x3))
new_compare24(x0, x1, True, x2, x3)
new_compare6(x0, x1)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_compare32(x0, x1, x2)
new_lt5(x0, x1, ty_Bool)
new_lt13(x0, x1)
new_primCompAux0(x0, LT)
new_lt18(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs8(EQ, EQ)
new_compare13(x0, x1, False)
new_primPlusNat0(Zero, Succ(x0))
new_ltEs8(Just(x0), Just(x1), ty_Ordering)
new_ltEs19(x0, x1, ty_Integer)
new_esEs4(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs10(x0, x1, ty_Float)
new_lt17(x0, x1)
new_esEs4(Nothing, Just(x0), x1)
new_esEs22(x0, x1, ty_Int)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_esEs29(x0, x1, ty_@0)
new_esEs29(x0, x1, app(ty_[], x2))
new_compare19(x0, x1, False, x2, x3)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Char)
new_esEs7(Right(x0), Right(x1), x2, ty_Bool)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_compare24(Left(x0), Left(x1), False, x2, x3)
new_esEs11(x0, x1)
new_lt5(x0, x1, ty_Integer)
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_sr0(Integer(x0), Integer(x1))
new_lt6(x0, x1, ty_Bool)
new_esEs9(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Double)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_ltEs12(x0, x1)
new_esEs22(x0, x1, ty_Bool)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, ty_Float)
new_esEs29(x0, x1, ty_Integer)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Integer)
new_ltEs8(Nothing, Just(x0), x1)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs4(Nothing, Nothing, x0)
new_ltEs8(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs20(x0, x1, ty_Float)
new_ltEs4(Left(x0), Left(x1), ty_Float, x2)
new_compare18(x0, x1, x2, x3)
new_ltEs6(GT, GT)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, ty_Char)
new_ltEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_primMulInt(Neg(x0), Neg(x1))
new_lt5(x0, x1, app(ty_Maybe, x2))
new_esEs8(GT, EQ)
new_esEs8(EQ, GT)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, app(ty_Ratio, x2))
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_lt6(x0, x1, ty_Double)
new_lt6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_compare17(x0, x1, x2, x3, x4)
new_esEs24(x0, x1, ty_Integer)
new_primCmpNat0(Zero, Zero)
new_esEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_@0)
new_ltEs6(LT, LT)
new_esEs26(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_@0)
new_esEs28(x0, x1, ty_Ordering)
new_ltEs21(x0, x1, app(ty_[], x2))
new_ltEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs18(x0, x1, app(ty_[], x2))
new_compare111(x0, x1, False, x2, x3, x4)
new_esEs25(x0, x1, ty_Integer)
new_lt16(x0, x1, x2, x3)
new_primCmpNat0(Zero, Succ(x0))
new_ltEs9(x0, x1, x2)
new_esEs7(Right(x0), Right(x1), x2, ty_Integer)
new_esEs22(x0, x1, ty_Char)
new_compare31(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Char)
new_ltEs8(Just(x0), Just(x1), ty_@0)
new_primPlusNat0(Succ(x0), Zero)
new_esEs7(Right(x0), Right(x1), x2, ty_Char)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs4(Left(x0), Left(x1), ty_Char, x2)
new_lt19(x0, x1, x2, x3, x4)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs22(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_ltEs8(Just(x0), Just(x1), ty_Integer)
new_ltEs21(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Int)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs4(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_compare210(x0, x1, False, x2, x3, x4)
new_lt14(x0, x1)
new_compare25(x0, x1, True)
new_ltEs14(True, True)
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs14(False, False)
new_lt11(x0, x1, x2)
new_compare111(x0, x1, True, x2, x3, x4)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Double)
new_ltEs4(Right(x0), Right(x1), x2, ty_Int)
new_compare19(x0, x1, True, x2, x3)
new_esEs22(x0, x1, ty_Float)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_compare10(Float(x0, x1), Float(x2, x3))
new_esEs24(x0, x1, ty_Int)
new_not(True)
new_ltEs8(Just(x0), Just(x1), ty_Float)
new_esEs27(x0, x1, ty_Char)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs21(x0, x1, ty_@0)
new_esEs21(x0, x1, ty_@0)
new_esEs7(Right(x0), Right(x1), x2, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_esEs4(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Double)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_not(False)
new_compare31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt6(x0, x1, ty_Char)
new_ltEs4(Left(x0), Right(x1), x2, x3)
new_lt6(x0, x1, app(ty_Ratio, x2))
new_ltEs4(Right(x0), Left(x1), x2, x3)
new_esEs4(Just(x0), Just(x1), ty_Integer)
new_esEs26(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_@0)
new_compare25(x0, x1, False)
new_esEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs6(EQ, GT)
new_ltEs6(GT, EQ)
new_esEs13(:%(x0, x1), :%(x2, x3), x4)
new_compare31(x0, x1, ty_Integer)
new_ltEs18(x0, x1, ty_Double)
new_esEs7(Left(x0), Left(x1), ty_@0, x2)
new_esEs9(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_@0)
new_ltEs8(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs13(x0, x1)
new_ltEs4(Left(x0), Left(x1), ty_Double, x2)
new_ltEs8(Just(x0), Just(x1), ty_Char)
new_esEs15(Char(x0), Char(x1))
new_compare16(x0, x1)
new_ltEs15(x0, x1)
new_esEs9(x0, x1, ty_Float)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_asAs(True, x0)
new_esEs8(EQ, LT)
new_esEs8(LT, EQ)
new_esEs7(Left(x0), Left(x1), ty_Bool, x2)
new_compare0([], [], x0)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_primCompAux0(x0, GT)
new_ltEs18(x0, x1, ty_Ordering)
new_esEs9(x0, x1, ty_Int)
new_lt7(x0, x1)
new_ltEs8(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs20(x0, x1, ty_Bool)
new_esEs20(x0, x1, ty_Float)
new_compare31(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_@0)
new_esEs12([], [], x0)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs17(False, True)
new_esEs17(True, False)
new_esEs25(x0, x1, ty_Char)
new_esEs7(Right(x0), Left(x1), x2, x3)
new_esEs7(Left(x0), Right(x1), x2, x3)
new_compare31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs17(True, True)
new_esEs23(x0, x1, ty_Int)
new_compare26(x0, x1, False)
new_esEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_primEqNat0(Zero, Succ(x0))
new_lt5(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpNat2(Succ(x0), x1)
new_esEs10(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_Bool)
new_esEs28(x0, x1, ty_@0)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_lt5(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare0([], :(x0, x1), x2)
new_esEs19(@0, @0)
new_compare11(x0, x1, False)
new_esEs20(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_Int)
new_compare110(x0, x1, True, x2)
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_esEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_compare11(x0, x1, True)
new_ltEs4(Right(x0), Right(x1), x2, ty_Char)
new_primPlusNat1(Succ(x0), x1)
new_esEs9(x0, x1, ty_@0)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ DependencyGraphProof
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_splitLT10(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba, bb) → new_splitLT(ywz44, ywz500, h, ba, bb)
new_splitLT3(Left(ywz400), ywz41, ywz42, ywz43, ywz44, Left(ywz500), h, ba, bb) → new_splitLT2(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Left(ywz500), Left(ywz400), new_esEs31(ywz500, ywz400, h), h, ba), LT), h, ba, bb)
new_splitLT3(Left(ywz400), ywz41, ywz42, ywz43, ywz44, Right(ywz500), h, ba, bb) → new_splitLT21(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Right(ywz500), Left(ywz400), False, h, ba), LT), h, ba, bb)
new_splitLT2(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, False, bc, bd, be) → new_splitLT1(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, new_esEs8(new_compare18(Left(ywz23), Left(ywz18), bc, bd), GT), bc, bd, be)
new_splitLT20(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba, bb) → new_splitLT10(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare18(Left(ywz500), Right(ywz400), h, ba), GT), h, ba, bb)
new_splitLT21(ywz400, ywz41, ywz42, Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz44, ywz500, True, h, ba, bb) → new_splitLT3(ywz430, ywz431, ywz432, ywz433, ywz434, Right(ywz500), h, ba, bb)
new_splitLT0(Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz500, h, ba, bb) → new_splitLT3(ywz430, ywz431, ywz432, ywz433, ywz434, Right(ywz500), h, ba, bb)
new_splitLT1(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, True, bc, bd, be) → new_splitLT(ywz22, ywz23, bc, bd, be)
new_splitLT2(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, True, bc, bd, be) → new_splitLT(ywz21, ywz23, bc, bd, be)
new_splitLT(Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz500, h, ba, bb) → new_splitLT3(ywz430, ywz431, ywz432, ywz433, ywz434, Left(ywz500), h, ba, bb)
new_splitLT3(Right(ywz400), ywz41, ywz42, ywz43, ywz44, Left(ywz500), h, ba, bb) → new_splitLT20(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Left(ywz500), Right(ywz400), False, h, ba), LT), h, ba, bb)
new_splitLT21(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba, bb) → new_splitLT11(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare18(Right(ywz500), Left(ywz400), h, ba), GT), h, ba, bb)
new_splitLT22(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, True, bf, bg, bh) → new_splitLT0(ywz36, ywz38, bf, bg, bh)
new_splitLT11(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba, bb) → new_splitLT0(ywz44, ywz500, h, ba, bb)
new_splitLT3(Right(ywz400), ywz41, ywz42, ywz43, ywz44, Right(ywz500), h, ba, bb) → new_splitLT22(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Right(ywz500), Right(ywz400), new_esEs32(ywz500, ywz400, ba), h, ba), LT), h, ba, bb)
new_splitLT20(ywz400, ywz41, ywz42, Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz44, ywz500, True, h, ba, bb) → new_splitLT3(ywz430, ywz431, ywz432, ywz433, ywz434, Left(ywz500), h, ba, bb)
new_splitLT12(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, True, bf, bg, bh) → new_splitLT0(ywz37, ywz38, bf, bg, bh)
new_splitLT22(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, False, bf, bg, bh) → new_splitLT12(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, new_esEs8(new_compare18(Right(ywz38), Right(ywz33), bf, bg), GT), bf, bg, bh)

The TRS R consists of the following rules:

new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bhd)) → new_esEs4(ywz5000, ywz4000, bhd)
new_lt14(ywz5000, ywz4000) → new_esEs8(new_compare5(ywz5000, ywz4000), LT)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cg), da), ca) → new_esEs7(ywz5000, ywz4000, cg, da)
new_compare31(ywz5000, ywz4000, ty_Double) → new_compare15(ywz5000, ywz4000)
new_primCmpNat2(Zero, ywz50000) → LT
new_esEs12(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bbd) → new_asAs(new_esEs20(ywz5000, ywz4000, bbd), new_esEs12(ywz5001, ywz4001, bbd))
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_ltEs11(ywz500, ywz400) → new_not(new_esEs8(new_compare9(ywz500, ywz400), GT))
new_ltEs20(ywz500, ywz400, app(ty_Ratio, bga)) → new_ltEs9(ywz500, ywz400, bga)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Maybe, cc), ca) → new_esEs4(ywz5000, ywz4000, cc)
new_esEs31(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_esEs31(ywz500, ywz400, app(ty_[], bbd)) → new_esEs12(ywz500, ywz400, bbd)
new_ltEs18(ywz5002, ywz4002, ty_Float) → new_ltEs15(ywz5002, ywz4002)
new_esEs4(Nothing, Just(ywz4000), bfe) → False
new_esEs4(Just(ywz5000), Nothing, bfe) → False
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_compare24(Left(ywz500), Left(ywz400), False, h, ba) → new_compare14(ywz500, ywz400, new_ltEs19(ywz500, ywz400, h), h, ba)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_compare26(ywz5000, ywz4000, False) → new_compare13(ywz5000, ywz4000, new_ltEs6(ywz5000, ywz4000))
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_ltEs20(ywz500, ywz400, app(ty_[], bfg)) → new_ltEs7(ywz500, ywz400, bfg)
new_esEs9(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_compare31(ywz5000, ywz4000, ty_Int) → new_compare8(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Ordering) → new_compare16(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_primMulNat0(Zero, Zero) → Zero
new_lt6(ywz5001, ywz4001, ty_Bool) → new_lt4(ywz5001, ywz4001)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cab), cac), cad)) → new_esEs6(ywz5000, ywz4000, cab, cac, cad)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Int, ca) → new_ltEs5(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bbf)) → new_esEs4(ywz5000, ywz4000, bbf)
new_ltEs21(ywz5001, ywz4001, app(app(app(ty_@3, bdh), bea), beb)) → new_ltEs17(ywz5001, ywz4001, bdh, bea, beb)
new_ltEs10(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcg, bch) → new_pePe(new_lt20(ywz5000, ywz4000, bcg), new_asAs(new_esEs28(ywz5000, ywz4000, bcg), new_ltEs21(ywz5001, ywz4001, bch)))
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_ltEs20(ywz500, ywz400, app(ty_Maybe, bfh)) → new_ltEs8(ywz500, ywz400, bfh)
new_esEs32(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_lt10(ywz5000, ywz4000, bed) → new_esEs8(new_compare32(ywz5000, ywz4000, bed), LT)
new_ltEs14(False, True) → True
new_esEs25(ywz5002, ywz4002, ty_Bool) → new_esEs17(ywz5002, ywz4002)
new_lt8(ywz5000, ywz4000) → new_esEs8(new_compare16(ywz5000, ywz4000), LT)
new_esEs26(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, ty_Double) → new_esEs16(ywz5002, ywz4002)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Double, ca) → new_ltEs13(ywz5000, ywz4000)
new_compare24(Left(ywz500), Right(ywz400), False, h, ba) → LT
new_ltEs9(ywz500, ywz400, bff) → new_not(new_esEs8(new_compare7(ywz500, ywz400, bff), GT))
new_compare5(Char(ywz5000), Char(ywz4000)) → new_primCmpNat0(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, ce), cf), ca) → new_ltEs10(ywz5000, ywz4000, ce, cf)
new_esEs17(True, True) → True
new_esEs18(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs18(ywz5002, ywz4002, app(ty_Ratio, bab)) → new_ltEs9(ywz5002, ywz4002, bab)
new_esEs12([], [], bbd) → True
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bbg)) → new_esEs13(ywz5000, ywz4000, bbg)
new_ltEs15(ywz500, ywz400) → new_not(new_esEs8(new_compare10(ywz500, ywz400), GT))
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Integer, ca) → new_esEs14(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, ty_Int) → new_ltEs5(ywz5001, ywz4001)
new_esEs22(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_esEs5(ywz5000, ywz4000, bef, beg)
new_lt9(ywz5000, ywz4000, bec) → new_esEs8(new_compare0(ywz5000, ywz4000, bec), LT)
new_esEs26(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, cc), ca) → new_ltEs8(ywz5000, ywz4000, cc)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Char, ca) → new_ltEs12(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_esEs4(ywz5001, ywz4001, gg)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, db), dc), dd), ca) → new_ltEs17(ywz5000, ywz4000, db, dc, dd)
new_ltEs18(ywz5002, ywz4002, app(ty_[], hh)) → new_ltEs7(ywz5002, ywz4002, hh)
new_primCmpNat1(ywz50000, Succ(ywz40000)) → new_primCmpNat0(ywz50000, ywz40000)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_esEs7(ywz5000, ywz4000, beh, bfa)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs9(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_ltEs19(ywz500, ywz400, app(app(ty_Either, de), ca)) → new_ltEs4(ywz500, ywz400, de, ca)
new_pePe(False, ywz225) → ywz225
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Right(ywz4000), de, ca) → False
new_esEs7(Right(ywz5000), Left(ywz4000), de, ca) → False
new_esEs12(:(ywz5000, ywz5001), [], bbd) → False
new_esEs12([], :(ywz4000, ywz4001), bbd) → False
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, ca) → new_ltEs6(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_primCmpNat1(ywz50000, Zero) → GT
new_esEs28(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_esEs7(ywz5000, ywz4000, ga, gb)
new_esEs26(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_ltEs20(ywz500, ywz400, app(app(ty_Either, bgd), bge)) → new_ltEs4(ywz500, ywz400, bgd, bge)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhe)) → new_ltEs9(ywz5000, ywz4000, bhe)
new_ltEs6(GT, EQ) → False
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(ty_Either, ec), ed)) → new_ltEs4(ywz5000, ywz4000, ec, ed)
new_esEs22(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs31(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, bbh), bca)) → new_esEs5(ywz5000, ywz4000, bbh, bca)
new_esEs14(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Right(ywz4000), de, ca) → True
new_esEs32(ywz500, ywz400, app(ty_Maybe, bfh)) → new_esEs4(ywz500, ywz400, bfh)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(ty_@2, ea), eb)) → new_esEs5(ywz5000, ywz4000, ea, eb)
new_primCmpNat0(Zero, Succ(ywz400000)) → LT
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Bool, ca) → new_ltEs14(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, ty_Char) → new_lt14(ywz5001, ywz4001)
new_ltEs8(Nothing, Just(ywz4000), bfe) → True
new_ltEs19(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_esEs8(LT, LT) → True
new_lt6(ywz5001, ywz4001, ty_Ordering) → new_lt8(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bdc)) → new_esEs13(ywz5001, ywz4001, bdc)
new_esEs28(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_lt19(ywz5000, ywz4000, gc, gd, ge)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Int, ca) → new_esEs11(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, cd), ca) → new_ltEs9(ywz5000, ywz4000, cd)
new_esEs25(ywz5002, ywz4002, ty_Ordering) → new_esEs8(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Double) → new_ltEs13(ywz5002, ywz4002)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_@0, ca) → new_ltEs16(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, app(ty_Ratio, bab)) → new_esEs13(ywz5002, ywz4002, bab)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bcd), bce), bcf)) → new_esEs6(ywz5000, ywz4000, bcd, bce, bcf)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_[], bhc)) → new_ltEs7(ywz5000, ywz4000, bhc)
new_pePe(True, ywz225) → True
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare8(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare9(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_compare0([], [], bbd) → EQ
new_compare14(ywz147, ywz148, False, bha, bhb) → GT
new_ltEs21(ywz5001, ywz4001, ty_Double) → new_ltEs13(ywz5001, ywz4001)
new_primEqNat0(Zero, Zero) → True
new_compare31(ywz5000, ywz4000, app(app(ty_Either, bcb), bcc)) → new_compare18(ywz5000, ywz4000, bcb, bcc)
new_compare26(ywz5000, ywz4000, True) → EQ
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(ty_[], fc)) → new_esEs12(ywz5000, ywz4000, fc)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_@2, ce), cf), ca) → new_esEs5(ywz5000, ywz4000, ce, cf)
new_ltEs21(ywz5001, ywz4001, app(ty_[], bda)) → new_ltEs7(ywz5001, ywz4001, bda)
new_primMulNat0(Succ(ywz500000), Succ(ywz400000)) → new_primPlusNat1(new_primMulNat0(ywz500000, Succ(ywz400000)), ywz400000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_[], bhc)) → new_esEs12(ywz5000, ywz4000, bhc)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cab), cac), cad)) → new_ltEs17(ywz5000, ywz4000, cab, cac, cad)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_esEs13(ywz5001, ywz4001, gh)
new_lt20(ywz5000, ywz4000, app(ty_[], bec)) → new_lt9(ywz5000, ywz4000, bec)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_esEs13(ywz5000, ywz4000, ff)
new_esEs17(False, False) → True
new_esEs17(False, True) → False
new_esEs17(True, False) → False
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Ordering, ca) → new_esEs8(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_lt16(ywz5000, ywz4000, ga, gb)
new_esEs15(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_ltEs18(ywz5002, ywz4002, ty_Int) → new_ltEs5(ywz5002, ywz4002)
new_ltEs19(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(app(ty_@3, ee), ef), eg)) → new_esEs6(ywz5000, ywz4000, ee, ef, eg)
new_sr(ywz5000, ywz4000) → new_primMulInt(ywz5000, ywz4000)
new_compare12(ywz154, ywz155, False, bbb, bbc) → GT
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_[], fc)) → new_lt9(ywz5000, ywz4000, fc)
new_esEs26(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_ltEs6(EQ, GT) → True
new_esEs8(GT, GT) → True
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_ltEs18(ywz5002, ywz4002, ty_Ordering) → new_ltEs6(ywz5002, ywz4002)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat1(ywz50000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(ty_Either, ec), ed)) → new_esEs7(ywz5000, ywz4000, ec, ed)
new_esEs31(ywz500, ywz400, app(app(ty_Either, de), ca)) → new_esEs7(ywz500, ywz400, de, ca)
new_esEs26(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_esEs6(ywz5001, ywz4001, he, hf, hg)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_compare25(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs14(ywz5000, ywz4000))
new_esEs31(ywz500, ywz400, ty_Float) → new_esEs18(ywz500, ywz400)
new_esEs8(LT, GT) → False
new_esEs8(GT, LT) → False
new_lt17(ywz5000, ywz4000) → new_esEs8(new_compare10(ywz5000, ywz4000), LT)
new_compare16(ywz5000, ywz4000) → new_compare26(ywz5000, ywz4000, new_esEs8(ywz5000, ywz4000))
new_compare29(ywz5000, ywz4000, False, bed) → new_compare110(ywz5000, ywz4000, new_ltEs8(ywz5000, ywz4000, bed), bed)
new_esEs25(ywz5002, ywz4002, app(ty_[], hh)) → new_esEs12(ywz5002, ywz4002, hh)
new_compare17(ywz5000, ywz4000, bfb, bfc, bfd) → new_compare210(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd), bfb, bfc, bfd)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_compare25(ywz5000, ywz4000, True) → EQ
new_ltEs20(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_lt11(ywz5000, ywz4000, bee)
new_compare6(ywz5000, ywz4000) → new_compare25(ywz5000, ywz4000, new_esEs17(ywz5000, ywz4000))
new_ltEs19(ywz500, ywz400, app(app(ty_@2, bcg), bch)) → new_ltEs10(ywz500, ywz400, bcg, bch)
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs28(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_compare13(ywz5000, ywz4000, False) → GT
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs28(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_esEs4(ywz5000, ywz4000, bed)
new_ltEs19(ywz500, ywz400, app(ty_Ratio, bff)) → new_ltEs9(ywz500, ywz400, bff)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_Ratio, dh)) → new_esEs13(ywz5000, ywz4000, dh)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs31(ywz500, ywz400, app(app(app(ty_@3, eh), fa), fb)) → new_esEs6(ywz500, ywz400, eh, fa, fb)
new_lt13(ywz5000, ywz4000) → new_esEs8(new_compare9(ywz5000, ywz4000), LT)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Ratio, cd), ca) → new_esEs13(ywz5000, ywz4000, cd)
new_esEs9(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_lt11(ywz5001, ywz4001, gh)
new_ltEs6(EQ, EQ) → True
new_ltEs20(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_primCmpNat2(Succ(ywz40000), ywz50000) → new_primCmpNat0(ywz40000, ywz50000)
new_compare8(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cg), da), ca) → new_ltEs4(ywz5000, ywz4000, cg, da)
new_ltEs19(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_primCompAux0(ywz333, GT) → GT
new_esEs8(EQ, EQ) → True
new_primPlusNat1(Zero, ywz400000) → Succ(ywz400000)
new_ltEs6(GT, GT) → True
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_compare24(ywz50, ywz40, True, h, ba) → EQ
new_compare31(ywz5000, ywz4000, ty_@0) → new_compare28(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, app(app(ty_Either, bdf), bdg)) → new_ltEs4(ywz5001, ywz4001, bdf, bdg)
new_compare31(ywz5000, ywz4000, app(ty_Maybe, bbf)) → new_compare32(ywz5000, ywz4000, bbf)
new_esEs19(@0, @0) → True
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_esEs7(ywz5001, ywz4001, hc, hd)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_esEs23(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_ltEs18(ywz5002, ywz4002, app(app(ty_@2, bac), bad)) → new_ltEs10(ywz5002, ywz4002, bac, bad)
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhh), caa)) → new_esEs7(ywz5000, ywz4000, bhh, caa)
new_primCmpNat0(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat0(ywz500000, ywz400000)
new_esEs22(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_esEs4(ywz5000, ywz4000, bed)
new_esEs22(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, app(ty_Maybe, baa)) → new_esEs4(ywz5002, ywz4002, baa)
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_compare27(ywz5000, ywz4000, True, bef, beg) → EQ
new_esEs32(ywz500, ywz400, app(app(ty_Either, bgd), bge)) → new_esEs7(ywz500, ywz400, bgd, bge)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bhf), bhg)) → new_esEs5(ywz5000, ywz4000, bhf, bhg)
new_compare31(ywz5000, ywz4000, app(app(app(ty_@3, bcd), bce), bcf)) → new_compare17(ywz5000, ywz4000, bcd, bce, bcf)
new_ltEs19(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_compare31(ywz5000, ywz4000, ty_Bool) → new_compare6(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_compare12(ywz154, ywz155, True, bbb, bbc) → LT
new_ltEs20(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_ltEs14(False, False) → True
new_esEs16(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_[], df)) → new_esEs12(ywz5000, ywz4000, df)
new_esEs13(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), bff) → new_asAs(new_esEs24(ywz5000, ywz4000, bff), new_esEs23(ywz5001, ywz4001, bff))
new_compare111(ywz5000, ywz4000, True, bfb, bfc, bfd) → LT
new_esEs32(ywz500, ywz400, ty_@0) → new_esEs19(ywz500, ywz400)
new_esEs28(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, ty_@0) → new_esEs19(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_@0) → new_ltEs16(ywz5002, ywz4002)
new_ltEs8(Just(ywz5000), Nothing, bfe) → False
new_ltEs12(ywz500, ywz400) → new_not(new_esEs8(new_compare5(ywz500, ywz400), GT))
new_esEs9(ywz5001, ywz4001, app(ty_[], gf)) → new_esEs12(ywz5001, ywz4001, gf)
new_esEs22(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs28(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs8(LT, EQ) → False
new_esEs8(EQ, LT) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_esEs10(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_esEs7(ywz5000, ywz4000, ga, gb)
new_esEs31(ywz500, ywz400, ty_Bool) → new_esEs17(ywz500, ywz400)
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_lt4(ywz5000, ywz4000) → new_esEs8(new_compare6(ywz5000, ywz4000), LT)
new_ltEs18(ywz5002, ywz4002, ty_Integer) → new_ltEs11(ywz5002, ywz4002)
new_primPlusNat0(Zero, Succ(ywz4000000)) → Succ(ywz4000000)
new_primPlusNat0(Succ(ywz24800), Zero) → Succ(ywz24800)
new_esEs31(ywz500, ywz400, app(app(ty_@2, bcg), bch)) → new_esEs5(ywz500, ywz400, bcg, bch)
new_esEs5(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcg, bch) → new_asAs(new_esEs22(ywz5000, ywz4000, bcg), new_esEs21(ywz5001, ywz4001, bch))
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(ywz500000), Zero) → GT
new_esEs22(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_compare210(ywz5000, ywz4000, True, bfb, bfc, bfd) → EQ
new_esEs22(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_esEs13(ywz5000, ywz4000, bee)
new_lt6(ywz5001, ywz4001, ty_Float) → new_lt17(ywz5001, ywz4001)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(app(ty_@3, ee), ef), eg)) → new_ltEs17(ywz5000, ywz4000, ee, ef, eg)
new_compare13(ywz5000, ywz4000, True) → LT
new_sr0(Integer(ywz50000), Integer(ywz40010)) → Integer(new_primMulInt(ywz50000, ywz40010))
new_esEs32(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_[], cb), ca) → new_esEs12(ywz5000, ywz4000, cb)
new_esEs32(ywz500, ywz400, app(ty_[], bfg)) → new_esEs12(ywz500, ywz400, bfg)
new_ltEs18(ywz5002, ywz4002, app(app(ty_Either, bae), baf)) → new_ltEs4(ywz5002, ywz4002, bae, baf)
new_compare15(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_ltEs20(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_lt6(ywz5001, ywz4001, ty_Double) → new_lt15(ywz5001, ywz4001)
new_esEs32(ywz500, ywz400, app(app(ty_@2, bgb), bgc)) → new_esEs5(ywz500, ywz400, bgb, bgc)
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_esEs20(ywz5000, ywz4000, app(ty_[], bbe)) → new_esEs12(ywz5000, ywz4000, bbe)
new_compare24(Right(ywz500), Left(ywz400), False, h, ba) → GT
new_esEs28(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_esEs7(ywz5000, ywz4000, beh, bfa)
new_compare30(ywz5000, ywz4000, bef, beg) → new_compare27(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bef, beg), bef, beg)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_Maybe, dg)) → new_esEs4(ywz5000, ywz4000, dg)
new_ltEs17(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), eh, fa, fb) → new_pePe(new_lt5(ywz5000, ywz4000, eh), new_asAs(new_esEs10(ywz5000, ywz4000, eh), new_pePe(new_lt6(ywz5001, ywz4001, fa), new_asAs(new_esEs9(ywz5001, ywz4001, fa), new_ltEs18(ywz5002, ywz4002, fb)))))
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, app(ty_[], gf)) → new_lt9(ywz5001, ywz4001, gf)
new_lt5(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_lt16(ywz50, ywz40, h, ba) → new_esEs8(new_compare18(ywz50, ywz40, h, ba), LT)
new_esEs8(EQ, GT) → False
new_esEs8(GT, EQ) → False
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, ty_Integer) → new_lt13(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_esEs5(ywz5001, ywz4001, ha, hb)
new_esEs32(ywz500, ywz400, ty_Bool) → new_esEs17(ywz500, ywz400)
new_esEs22(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bdd), bde)) → new_esEs5(ywz5001, ywz4001, bdd, bde)
new_primCompAux0(ywz333, LT) → LT
new_esEs9(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_not(False) → True
new_esEs11(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Left(ywz4000), de, ca) → False
new_ltEs20(ywz500, ywz400, app(app(app(ty_@3, bgf), bgg), bgh)) → new_ltEs17(ywz500, ywz400, bgf, bgg, bgh)
new_esEs31(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_compare110(ywz5000, ywz4000, True, bed) → LT
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Double, ca) → new_esEs16(ywz5000, ywz4000)
new_compare210(ywz5000, ywz4000, False, bfb, bfc, bfd) → new_compare111(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000, bfb, bfc, bfd), bfb, bfc, bfd)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs32(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_ltEs21(ywz5001, ywz4001, ty_Char) → new_ltEs12(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, ty_Float) → new_esEs18(ywz5002, ywz4002)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_lt16(ywz5000, ywz4000, beh, bfa)
new_esEs9(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs28(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_esEs5(ywz5000, ywz4000, bef, beg)
new_compare0(:(ywz5000, ywz5001), [], bbd) → GT
new_lt6(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_lt19(ywz5001, ywz4001, he, hf, hg)
new_lt7(ywz5000, ywz4000) → new_esEs8(new_compare8(ywz5000, ywz4000), LT)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs32(ywz500, ywz400, ty_Float) → new_esEs18(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_Ratio, dh)) → new_ltEs9(ywz5000, ywz4000, dh)
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_compare27(ywz5000, ywz4000, False, bef, beg) → new_compare19(ywz5000, ywz4000, new_ltEs10(ywz5000, ywz4000, bef, beg), bef, beg)
new_lt6(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_lt10(ywz5001, ywz4001, gg)
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_lt11(ywz5000, ywz4000, ff)
new_primMulInt(Pos(ywz50000), Pos(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs18(ywz5000, ywz4000)
new_ltEs19(ywz500, ywz400, app(ty_Maybe, bfe)) → new_ltEs8(ywz500, ywz400, bfe)
new_primMulInt(Neg(ywz50000), Neg(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_esEs9(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_esEs13(ywz5001, ywz4001, gh)
new_ltEs19(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(ty_@2, ea), eb)) → new_ltEs10(ywz5000, ywz4000, ea, eb)
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_lt20(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_lt12(ywz5000, ywz4000, bef, beg)
new_primPlusNat0(Zero, Zero) → Zero
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Float, ca) → new_ltEs15(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(ty_[], bda)) → new_esEs12(ywz5001, ywz4001, bda)
new_ltEs6(LT, LT) → True
new_ltEs6(EQ, LT) → False
new_ltEs14(True, True) → True
new_lt20(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_lt10(ywz5000, ywz4000, bed)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_ltEs18(ywz5002, ywz4002, app(app(app(ty_@3, bag), bah), bba)) → new_ltEs17(ywz5002, ywz4002, bag, bah, bba)
new_esEs28(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs4(Nothing, Nothing, bfe) → True
new_ltEs21(ywz5001, ywz4001, app(ty_Ratio, bdc)) → new_ltEs9(ywz5001, ywz4001, bdc)
new_compare111(ywz5000, ywz4000, False, bfb, bfc, bfd) → GT
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhe)) → new_esEs13(ywz5000, ywz4000, bhe)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_esEs6(ywz5000, ywz4000, gc, gd, ge)
new_compare31(ywz5000, ywz4000, app(app(ty_@2, bbh), bca)) → new_compare30(ywz5000, ywz4000, bbh, bca)
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_esEs5(ywz5000, ywz4000, fg, fh)
new_lt5(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_esEs23(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhh), caa)) → new_ltEs4(ywz5000, ywz4000, bhh, caa)
new_esEs10(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_esEs5(ywz5000, ywz4000, fg, fh)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_esEs4(ywz5000, ywz4000, fd)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bdf), bdg)) → new_esEs7(ywz5001, ywz4001, bdf, bdg)
new_primPlusNat1(Succ(ywz2480), ywz400000) → Succ(Succ(new_primPlusNat0(ywz2480, ywz400000)))
new_lt15(ywz5000, ywz4000) → new_esEs8(new_compare15(ywz5000, ywz4000), LT)
new_ltEs21(ywz5001, ywz4001, app(ty_Maybe, bdb)) → new_ltEs8(ywz5001, ywz4001, bdb)
new_lt6(ywz5001, ywz4001, ty_Int) → new_lt7(ywz5001, ywz4001)
new_lt19(ywz5000, ywz4000, bfb, bfc, bfd) → new_esEs8(new_compare17(ywz5000, ywz4000, bfb, bfc, bfd), LT)
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_compare110(ywz5000, ywz4000, False, bed) → GT
new_esEs25(ywz5002, ywz4002, ty_Integer) → new_esEs14(ywz5002, ywz4002)
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bbd) → new_primCompAux1(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, bbd), bbd)
new_ltEs19(ywz500, ywz400, app(ty_[], bbd)) → new_ltEs7(ywz500, ywz400, bbd)
new_compare19(ywz5000, ywz4000, True, bef, beg) → LT
new_esEs32(ywz500, ywz400, ty_Int) → new_esEs11(ywz500, ywz400)
new_compare31(ywz5000, ywz4000, ty_Integer) → new_compare9(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_Ratio, bbg)) → new_compare7(ywz5000, ywz4000, bbg)
new_ltEs5(ywz500, ywz400) → new_not(new_esEs8(new_compare8(ywz500, ywz400), GT))
new_lt6(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_lt16(ywz5001, ywz4001, hc, hd)
new_esEs24(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs9(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_ltEs19(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs21(ywz5001, ywz4001, ty_@0) → new_ltEs16(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bdb)) → new_esEs4(ywz5001, ywz4001, bdb)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, bcb), bcc)) → new_esEs7(ywz5000, ywz4000, bcb, bcc)
new_lt5(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, ty_Integer) → new_ltEs11(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_esEs5(ywz5001, ywz4001, ha, hb)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_compare29(ywz5000, ywz4000, True, bed) → EQ
new_primCompAux1(ywz5000, ywz4000, ywz290, bbd) → new_primCompAux0(ywz290, new_compare31(ywz5000, ywz4000, bbd))
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bhd)) → new_ltEs8(ywz5000, ywz4000, bhd)
new_compare18(ywz50, ywz40, h, ba) → new_compare24(ywz50, ywz40, new_esEs7(ywz50, ywz40, h, ba), h, ba)
new_lt5(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Char) → new_compare5(ywz5000, ywz4000)
new_esEs32(ywz500, ywz400, app(ty_Ratio, bga)) → new_esEs13(ywz500, ywz400, bga)
new_compare9(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_asAs(False, ywz142) → False
new_esEs10(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_esEs6(ywz5000, ywz4000, gc, gd, ge)
new_primMulInt(Pos(ywz50000), Neg(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Neg(ywz50000), Pos(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat2(ywz4000, ywz50000)
new_primMulNat0(Succ(ywz500000), Zero) → Zero
new_primMulNat0(Zero, Succ(ywz400000)) → Zero
new_esEs26(ywz5001, ywz4001, app(ty_[], gf)) → new_esEs12(ywz5001, ywz4001, gf)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_esEs4(ywz5001, ywz4001, gg)
new_esEs31(ywz500, ywz400, ty_Double) → new_esEs16(ywz500, ywz400)
new_ltEs21(ywz5001, ywz4001, ty_Bool) → new_ltEs14(ywz5001, ywz4001)
new_esEs10(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_esEs13(ywz5000, ywz4000, ff)
new_lt6(ywz5001, ywz4001, ty_@0) → new_lt18(ywz5001, ywz4001)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Float, ca) → new_esEs18(ywz5000, ywz4000)
new_ltEs18(ywz5002, ywz4002, ty_Bool) → new_ltEs14(ywz5002, ywz4002)
new_compare10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_compare31(ywz5000, ywz4000, app(ty_[], bbe)) → new_compare0(ywz5000, ywz4000, bbe)
new_esEs28(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_ltEs18(ywz5002, ywz4002, ty_Char) → new_ltEs12(ywz5002, ywz4002)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat2(Zero, ywz40000)
new_esEs25(ywz5002, ywz4002, app(app(app(ty_@3, bag), bah), bba)) → new_esEs6(ywz5002, ywz4002, bag, bah, bba)
new_esEs31(ywz500, ywz400, ty_@0) → new_esEs19(ywz500, ywz400)
new_esEs10(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_ltEs6(LT, GT) → True
new_esEs10(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, db), dc), dd), ca) → new_esEs6(ywz5000, ywz4000, db, dc, dd)
new_ltEs21(ywz5001, ywz4001, app(app(ty_@2, bdd), bde)) → new_ltEs10(ywz5001, ywz4001, bdd, bde)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(ty_[], bec)) → new_esEs12(ywz5000, ywz4000, bec)
new_esEs24(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_[], cb), ca) → new_ltEs7(ywz5000, ywz4000, cb)
new_ltEs21(ywz5001, ywz4001, ty_Ordering) → new_ltEs6(ywz5001, ywz4001)
new_esEs32(ywz500, ywz400, app(app(app(ty_@3, bgf), bgg), bgh)) → new_esEs6(ywz500, ywz400, bgf, bgg, bgh)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_esEs13(ywz5000, ywz4000, bee)
new_ltEs18(ywz5002, ywz4002, app(ty_Maybe, baa)) → new_ltEs8(ywz5002, ywz4002, baa)
new_ltEs14(True, False) → False
new_esEs25(ywz5002, ywz4002, ty_Char) → new_esEs15(ywz5002, ywz4002)
new_compare11(ywz5000, ywz4000, False) → GT
new_ltEs13(ywz500, ywz400) → new_not(new_esEs8(new_compare15(ywz500, ywz400), GT))
new_lt11(ywz5000, ywz4000, bee) → new_esEs8(new_compare7(ywz5000, ywz4000, bee), LT)
new_lt5(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_lt12(ywz5000, ywz4000, fg, fh)
new_ltEs8(Nothing, Nothing, bfe) → True
new_esEs26(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, app(app(ty_@2, bac), bad)) → new_esEs5(ywz5002, ywz4002, bac, bad)
new_ltEs16(ywz500, ywz400) → new_not(new_esEs8(new_compare28(ywz500, ywz400), GT))
new_compare11(ywz5000, ywz4000, True) → LT
new_ltEs19(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_esEs31(ywz500, ywz400, app(ty_Maybe, bfe)) → new_esEs4(ywz500, ywz400, bfe)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_[], df)) → new_ltEs7(ywz5000, ywz4000, df)
new_esEs9(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_ltEs19(ywz500, ywz400, app(app(app(ty_@3, eh), fa), fb)) → new_ltEs17(ywz500, ywz400, eh, fa, fb)
new_ltEs20(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_compare14(ywz147, ywz148, True, bha, bhb) → LT
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Bool, ca) → new_esEs17(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat1(ywz40000, Zero)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs19(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Float) → new_compare10(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_primPlusNat0(Succ(ywz24800), Succ(ywz4000000)) → Succ(Succ(new_primPlusNat0(ywz24800, ywz4000000)))
new_esEs9(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_esEs6(ywz5001, ywz4001, he, hf, hg)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_Maybe, dg)) → new_ltEs8(ywz5000, ywz4000, dg)
new_lt5(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_lt10(ywz5000, ywz4000, fd)
new_compare0([], :(ywz4000, ywz4001), bbd) → LT
new_ltEs6(LT, EQ) → True
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bdh), bea), beb)) → new_esEs6(ywz5001, ywz4001, bdh, bea, beb)
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_lt19(ywz5000, ywz4000, bfb, bfc, bfd)
new_ltEs6(GT, LT) → False
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_asAs(True, ywz142) → ywz142
new_esEs28(ywz5000, ywz4000, app(ty_[], bec)) → new_esEs12(ywz5000, ywz4000, bec)
new_esEs27(ywz5000, ywz4000, app(ty_[], fc)) → new_esEs12(ywz5000, ywz4000, fc)
new_esEs25(ywz5002, ywz4002, ty_Int) → new_esEs11(ywz5002, ywz4002)
new_lt12(ywz5000, ywz4000, bef, beg) → new_esEs8(new_compare30(ywz5000, ywz4000, bef, beg), LT)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_@0, ca) → new_esEs19(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Integer, ca) → new_ltEs11(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bhf), bhg)) → new_ltEs10(ywz5000, ywz4000, bhf, bhg)
new_ltEs21(ywz5001, ywz4001, ty_Float) → new_ltEs15(ywz5001, ywz4001)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Char, ca) → new_esEs15(ywz5000, ywz4000)
new_esEs32(ywz500, ywz400, ty_Double) → new_esEs16(ywz500, ywz400)
new_esEs9(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_esEs7(ywz5001, ywz4001, hc, hd)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs31(ywz500, ywz400, app(ty_Ratio, bff)) → new_esEs13(ywz500, ywz400, bff)
new_esEs31(ywz500, ywz400, ty_Int) → new_esEs11(ywz500, ywz400)
new_esEs26(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, bbd) → new_not(new_esEs8(new_compare0(ywz500, ywz400, bbd), GT))
new_ltEs20(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_compare32(ywz5000, ywz4000, bed) → new_compare29(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, bed), bed)
new_compare19(ywz5000, ywz4000, False, bef, beg) → GT
new_esEs28(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, app(app(ty_Either, bae), baf)) → new_esEs7(ywz5002, ywz4002, bae, baf)
new_lt5(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_lt6(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_lt12(ywz5001, ywz4001, ha, hb)
new_primCompAux0(ywz333, EQ) → ywz333
new_esEs6(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), eh, fa, fb) → new_asAs(new_esEs27(ywz5000, ywz4000, eh), new_asAs(new_esEs26(ywz5001, ywz4001, fa), new_esEs25(ywz5002, ywz4002, fb)))
new_ltEs20(ywz500, ywz400, app(app(ty_@2, bgb), bgc)) → new_ltEs10(ywz500, ywz400, bgb, bgc)
new_ltEs19(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_compare28(@0, @0) → EQ
new_esEs10(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_esEs4(ywz5000, ywz4000, fd)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs10(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_lt18(ywz5000, ywz4000) → new_esEs8(new_compare28(ywz5000, ywz4000), LT)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_not(True) → False
new_compare24(Right(ywz500), Right(ywz400), False, h, ba) → new_compare12(ywz500, ywz400, new_ltEs20(ywz500, ywz400, ba), h, ba)

The set Q consists of the following terms:

new_esEs7(Left(x0), Left(x1), ty_Int, x2)
new_esEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs21(x0, x1, ty_Int)
new_compare24(Right(x0), Right(x1), False, x2, x3)
new_esEs18(Float(x0, x1), Float(x2, x3))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs16(x0, x1)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_primCmpNat1(x0, Succ(x1))
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(x0, x1, ty_Double)
new_lt6(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Double)
new_compare27(x0, x1, True, x2, x3)
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Int)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt9(x0, x1, x2)
new_esEs31(x0, x1, app(ty_[], x2))
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_ltEs21(x0, x1, ty_Ordering)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_primCompAux0(x0, EQ)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, ty_Bool)
new_esEs32(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Bool)
new_esEs31(x0, x1, ty_Bool)
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, ty_Ordering)
new_compare15(Double(x0, x1), Double(x2, x3))
new_esEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_lt6(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_primCmpNat0(Succ(x0), Zero)
new_esEs26(x0, x1, app(ty_[], x2))
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_esEs32(x0, x1, app(ty_Ratio, x2))
new_lt4(x0, x1)
new_ltEs21(x0, x1, ty_Double)
new_lt10(x0, x1, x2)
new_compare5(Char(x0), Char(x1))
new_ltEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs14(True, False)
new_ltEs14(False, True)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs20(x0, x1, ty_Ordering)
new_lt8(x0, x1)
new_esEs8(GT, GT)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(x0, x1, x2)
new_esEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs32(x0, x1, ty_Double)
new_lt20(x0, x1, app(ty_[], x2))
new_compare14(x0, x1, True, x2, x3)
new_compare30(x0, x1, x2, x3)
new_esEs26(x0, x1, ty_Int)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_Integer)
new_esEs7(Left(x0), Left(x1), ty_Integer, x2)
new_esEs8(LT, LT)
new_esEs26(x0, x1, ty_Float)
new_primPlusNat1(Zero, x0)
new_ltEs19(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_compare27(x0, x1, False, x2, x3)
new_lt20(x0, x1, ty_Int)
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs31(x0, x1, ty_@0)
new_compare0(:(x0, x1), [], x2)
new_ltEs19(x0, x1, ty_Float)
new_esEs17(False, False)
new_lt20(x0, x1, ty_Integer)
new_esEs7(Right(x0), Right(x1), x2, ty_Float)
new_esEs31(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Float)
new_lt5(x0, x1, ty_Int)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_compare210(x0, x1, True, x2, x3, x4)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Bool)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, ty_Bool)
new_ltEs6(EQ, EQ)
new_pePe(False, x0)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_compare12(x0, x1, False, x2, x3)
new_esEs7(Left(x0), Left(x1), ty_Char, x2)
new_esEs8(LT, GT)
new_esEs8(GT, LT)
new_ltEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_compare9(Integer(x0), Integer(x1))
new_pePe(True, x0)
new_esEs28(x0, x1, ty_Int)
new_esEs7(Left(x0), Left(x1), ty_Float, x2)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs4(Just(x0), Just(x1), ty_@0)
new_esEs4(Just(x0), Just(x1), ty_Int)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs6(LT, EQ)
new_ltEs20(x0, x1, ty_@0)
new_ltEs6(EQ, LT)
new_compare7(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_primEqNat0(Zero, Zero)
new_ltEs19(x0, x1, ty_Double)
new_esEs7(Right(x0), Right(x1), x2, ty_Int)
new_ltEs8(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs19(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Bool)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Char)
new_compare26(x0, x1, True)
new_esEs12(:(x0, x1), [], x2)
new_compare110(x0, x1, False, x2)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs4(Right(x0), Right(x1), x2, ty_Integer)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_ltEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_compare29(x0, x1, False, x2)
new_esEs4(Just(x0), Just(x1), app(ty_Ratio, x2))
new_lt6(x0, x1, app(ty_Maybe, x2))
new_compare28(@0, @0)
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs28(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Char)
new_primMulNat0(Zero, Zero)
new_esEs28(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, ty_@0)
new_ltEs21(x0, x1, ty_Float)
new_esEs9(x0, x1, ty_Integer)
new_ltEs10(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt20(x0, x1, ty_@0)
new_primCompAux1(x0, x1, x2, x3)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Double)
new_lt6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs19(x0, x1, ty_Int)
new_compare29(x0, x1, True, x2)
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs22(x0, x1, ty_@0)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_esEs31(x0, x1, ty_Integer)
new_ltEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs32(x0, x1, ty_Char)
new_esEs9(x0, x1, ty_Bool)
new_esEs4(Just(x0), Just(x1), ty_Float)
new_lt5(x0, x1, ty_@0)
new_esEs10(x0, x1, ty_Ordering)
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_esEs12([], :(x0, x1), x2)
new_ltEs8(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs7(Left(x0), Left(x1), ty_Double, x2)
new_esEs28(x0, x1, ty_Integer)
new_lt6(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Double)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs8(Nothing, Nothing, x0)
new_esEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs20(x0, x1, ty_@0)
new_esEs25(x0, x1, ty_Int)
new_ltEs20(x0, x1, ty_Int)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, ty_Char)
new_compare24(Left(x0), Right(x1), False, x2, x3)
new_compare24(Right(x0), Left(x1), False, x2, x3)
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs18(x0, x1, ty_Char)
new_esEs21(x0, x1, ty_Integer)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs32(x0, x1, ty_Integer)
new_asAs(False, x0)
new_esEs25(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, ty_Char)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_primMulNat0(Succ(x0), Succ(x1))
new_ltEs4(Right(x0), Right(x1), x2, ty_@0)
new_esEs22(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), ty_Double)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, ty_Ordering)
new_primCmpNat1(x0, Zero)
new_primCmpNat2(Zero, x0)
new_ltEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs11(x0, x1)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_primPlusNat0(Zero, Zero)
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_esEs31(x0, x1, ty_Ordering)
new_esEs12(:(x0, x1), :(x2, x3), x4)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Ordering)
new_lt6(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare13(x0, x1, True)
new_compare12(x0, x1, True, x2, x3)
new_lt6(x0, x1, ty_Float)
new_sr(x0, x1)
new_ltEs8(Just(x0), Just(x1), ty_Int)
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_compare14(x0, x1, False, x2, x3)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_compare7(:%(x0, x1), :%(x2, x3), ty_Int)
new_ltEs4(Left(x0), Left(x1), ty_Int, x2)
new_esEs32(x0, x1, ty_Float)
new_esEs4(Just(x0), Just(x1), ty_Ordering)
new_primMulNat0(Zero, Succ(x0))
new_esEs32(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_compare8(x0, x1)
new_lt12(x0, x1, x2, x3)
new_compare31(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Bool)
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs8(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, ty_Ordering)
new_esEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs5(x0, x1)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, ty_Double)
new_lt15(x0, x1)
new_ltEs20(x0, x1, ty_Ordering)
new_lt6(x0, x1, ty_Int)
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs8(Just(x0), Just(x1), ty_Bool)
new_ltEs4(Left(x0), Left(x1), ty_Integer, x2)
new_primPlusNat0(Succ(x0), Succ(x1))
new_esEs7(Right(x0), Right(x1), x2, ty_Double)
new_lt6(x0, x1, ty_Integer)
new_ltEs8(Just(x0), Just(x1), app(ty_[], x2))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs4(Right(x0), Right(x1), x2, ty_Float)
new_ltEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs4(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_ltEs8(Just(x0), Just(x1), ty_Double)
new_esEs4(Just(x0), Just(x1), app(ty_[], x2))
new_esEs14(Integer(x0), Integer(x1))
new_ltEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs25(x0, x1, ty_Float)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primMulNat0(Succ(x0), Zero)
new_esEs10(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Double)
new_esEs16(Double(x0, x1), Double(x2, x3))
new_compare24(x0, x1, True, x2, x3)
new_compare6(x0, x1)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_compare32(x0, x1, x2)
new_lt5(x0, x1, ty_Bool)
new_lt13(x0, x1)
new_primCompAux0(x0, LT)
new_lt18(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs8(EQ, EQ)
new_compare13(x0, x1, False)
new_primPlusNat0(Zero, Succ(x0))
new_ltEs8(Just(x0), Just(x1), ty_Ordering)
new_ltEs19(x0, x1, ty_Integer)
new_esEs4(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs10(x0, x1, ty_Float)
new_lt17(x0, x1)
new_esEs4(Nothing, Just(x0), x1)
new_esEs22(x0, x1, ty_Int)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_compare19(x0, x1, False, x2, x3)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Char)
new_esEs7(Right(x0), Right(x1), x2, ty_Bool)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_compare24(Left(x0), Left(x1), False, x2, x3)
new_esEs11(x0, x1)
new_lt5(x0, x1, ty_Integer)
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_sr0(Integer(x0), Integer(x1))
new_esEs31(x0, x1, ty_Double)
new_lt6(x0, x1, ty_Bool)
new_esEs9(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Double)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs32(x0, x1, app(ty_Maybe, x2))
new_ltEs12(x0, x1)
new_esEs22(x0, x1, ty_Bool)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, ty_Float)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Integer)
new_ltEs8(Nothing, Just(x0), x1)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs4(Nothing, Nothing, x0)
new_ltEs8(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs20(x0, x1, ty_Float)
new_ltEs4(Left(x0), Left(x1), ty_Float, x2)
new_compare18(x0, x1, x2, x3)
new_ltEs6(GT, GT)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_primMulInt(Neg(x0), Neg(x1))
new_lt5(x0, x1, app(ty_Maybe, x2))
new_esEs8(GT, EQ)
new_esEs8(EQ, GT)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, app(ty_Ratio, x2))
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_lt6(x0, x1, ty_Double)
new_lt6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_compare17(x0, x1, x2, x3, x4)
new_esEs24(x0, x1, ty_Integer)
new_primCmpNat0(Zero, Zero)
new_esEs32(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs10(x0, x1, ty_@0)
new_ltEs6(LT, LT)
new_esEs26(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_@0)
new_esEs28(x0, x1, ty_Ordering)
new_ltEs21(x0, x1, app(ty_[], x2))
new_ltEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs18(x0, x1, app(ty_[], x2))
new_compare111(x0, x1, False, x2, x3, x4)
new_esEs25(x0, x1, ty_Integer)
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_lt16(x0, x1, x2, x3)
new_primCmpNat0(Zero, Succ(x0))
new_ltEs9(x0, x1, x2)
new_esEs7(Right(x0), Right(x1), x2, ty_Integer)
new_esEs22(x0, x1, ty_Char)
new_compare31(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Char)
new_ltEs8(Just(x0), Just(x1), ty_@0)
new_primPlusNat0(Succ(x0), Zero)
new_esEs7(Right(x0), Right(x1), x2, ty_Char)
new_esEs31(x0, x1, ty_Float)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt19(x0, x1, x2, x3, x4)
new_ltEs4(Left(x0), Left(x1), ty_Char, x2)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs22(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_ltEs8(Just(x0), Just(x1), ty_Integer)
new_ltEs21(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Int)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs4(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_compare210(x0, x1, False, x2, x3, x4)
new_lt14(x0, x1)
new_compare25(x0, x1, True)
new_ltEs14(True, True)
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs14(False, False)
new_lt11(x0, x1, x2)
new_compare111(x0, x1, True, x2, x3, x4)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Double)
new_ltEs4(Right(x0), Right(x1), x2, ty_Int)
new_compare19(x0, x1, True, x2, x3)
new_esEs22(x0, x1, ty_Float)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_compare10(Float(x0, x1), Float(x2, x3))
new_esEs24(x0, x1, ty_Int)
new_esEs32(x0, x1, app(app(ty_@2, x2), x3))
new_esEs31(x0, x1, ty_Int)
new_not(True)
new_esEs32(x0, x1, ty_Bool)
new_ltEs8(Just(x0), Just(x1), ty_Float)
new_esEs27(x0, x1, ty_Char)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs21(x0, x1, ty_@0)
new_esEs21(x0, x1, ty_@0)
new_esEs7(Right(x0), Right(x1), x2, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_esEs4(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Double)
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_not(False)
new_compare31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs32(x0, x1, ty_Int)
new_compare31(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt6(x0, x1, ty_Char)
new_ltEs4(Left(x0), Right(x1), x2, x3)
new_lt6(x0, x1, app(ty_Ratio, x2))
new_ltEs4(Right(x0), Left(x1), x2, x3)
new_esEs4(Just(x0), Just(x1), ty_Integer)
new_esEs26(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_@0)
new_compare25(x0, x1, False)
new_esEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs6(EQ, GT)
new_ltEs6(GT, EQ)
new_esEs13(:%(x0, x1), :%(x2, x3), x4)
new_compare31(x0, x1, ty_Integer)
new_ltEs18(x0, x1, ty_Double)
new_esEs7(Left(x0), Left(x1), ty_@0, x2)
new_esEs9(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_@0)
new_ltEs8(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs13(x0, x1)
new_ltEs4(Left(x0), Left(x1), ty_Double, x2)
new_ltEs8(Just(x0), Just(x1), ty_Char)
new_esEs15(Char(x0), Char(x1))
new_compare16(x0, x1)
new_ltEs15(x0, x1)
new_esEs9(x0, x1, ty_Float)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_asAs(True, x0)
new_esEs8(EQ, LT)
new_esEs8(LT, EQ)
new_esEs7(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_compare0([], [], x0)
new_primCompAux0(x0, GT)
new_ltEs18(x0, x1, ty_Ordering)
new_esEs9(x0, x1, ty_Int)
new_lt7(x0, x1)
new_esEs32(x0, x1, ty_@0)
new_ltEs8(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs20(x0, x1, ty_Bool)
new_esEs20(x0, x1, ty_Float)
new_compare31(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_@0)
new_esEs12([], [], x0)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs17(False, True)
new_esEs17(True, False)
new_esEs25(x0, x1, ty_Char)
new_esEs7(Right(x0), Left(x1), x2, x3)
new_esEs7(Left(x0), Right(x1), x2, x3)
new_compare31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs17(True, True)
new_esEs23(x0, x1, ty_Int)
new_compare26(x0, x1, False)
new_esEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_primEqNat0(Zero, Succ(x0))
new_lt5(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpNat2(Succ(x0), x1)
new_esEs10(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_Bool)
new_esEs28(x0, x1, ty_@0)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare0([], :(x0, x1), x2)
new_esEs19(@0, @0)
new_compare11(x0, x1, False)
new_esEs20(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_Int)
new_compare110(x0, x1, True, x2)
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_esEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_compare11(x0, x1, True)
new_ltEs4(Right(x0), Right(x1), x2, ty_Char)
new_primPlusNat1(Succ(x0), x1)
new_esEs9(x0, x1, ty_@0)

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 2 SCCs.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ AND
QDP
                                          ↳ UsableRulesProof
                                        ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_splitLT21(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba, bb) → new_splitLT11(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare18(Right(ywz500), Left(ywz400), h, ba), GT), h, ba, bb)
new_splitLT22(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, True, bf, bg, bh) → new_splitLT0(ywz36, ywz38, bf, bg, bh)
new_splitLT11(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba, bb) → new_splitLT0(ywz44, ywz500, h, ba, bb)
new_splitLT3(Left(ywz400), ywz41, ywz42, ywz43, ywz44, Right(ywz500), h, ba, bb) → new_splitLT21(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Right(ywz500), Left(ywz400), False, h, ba), LT), h, ba, bb)
new_splitLT3(Right(ywz400), ywz41, ywz42, ywz43, ywz44, Right(ywz500), h, ba, bb) → new_splitLT22(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Right(ywz500), Right(ywz400), new_esEs32(ywz500, ywz400, ba), h, ba), LT), h, ba, bb)
new_splitLT21(ywz400, ywz41, ywz42, Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz44, ywz500, True, h, ba, bb) → new_splitLT3(ywz430, ywz431, ywz432, ywz433, ywz434, Right(ywz500), h, ba, bb)
new_splitLT0(Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz500, h, ba, bb) → new_splitLT3(ywz430, ywz431, ywz432, ywz433, ywz434, Right(ywz500), h, ba, bb)
new_splitLT12(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, True, bf, bg, bh) → new_splitLT0(ywz37, ywz38, bf, bg, bh)
new_splitLT22(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, False, bf, bg, bh) → new_splitLT12(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, new_esEs8(new_compare18(Right(ywz38), Right(ywz33), bf, bg), GT), bf, bg, bh)

The TRS R consists of the following rules:

new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bhd)) → new_esEs4(ywz5000, ywz4000, bhd)
new_lt14(ywz5000, ywz4000) → new_esEs8(new_compare5(ywz5000, ywz4000), LT)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cg), da), ca) → new_esEs7(ywz5000, ywz4000, cg, da)
new_compare31(ywz5000, ywz4000, ty_Double) → new_compare15(ywz5000, ywz4000)
new_primCmpNat2(Zero, ywz50000) → LT
new_esEs12(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bbd) → new_asAs(new_esEs20(ywz5000, ywz4000, bbd), new_esEs12(ywz5001, ywz4001, bbd))
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_ltEs11(ywz500, ywz400) → new_not(new_esEs8(new_compare9(ywz500, ywz400), GT))
new_ltEs20(ywz500, ywz400, app(ty_Ratio, bga)) → new_ltEs9(ywz500, ywz400, bga)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Maybe, cc), ca) → new_esEs4(ywz5000, ywz4000, cc)
new_esEs31(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_esEs31(ywz500, ywz400, app(ty_[], bbd)) → new_esEs12(ywz500, ywz400, bbd)
new_ltEs18(ywz5002, ywz4002, ty_Float) → new_ltEs15(ywz5002, ywz4002)
new_esEs4(Nothing, Just(ywz4000), bfe) → False
new_esEs4(Just(ywz5000), Nothing, bfe) → False
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_compare24(Left(ywz500), Left(ywz400), False, h, ba) → new_compare14(ywz500, ywz400, new_ltEs19(ywz500, ywz400, h), h, ba)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_compare26(ywz5000, ywz4000, False) → new_compare13(ywz5000, ywz4000, new_ltEs6(ywz5000, ywz4000))
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_ltEs20(ywz500, ywz400, app(ty_[], bfg)) → new_ltEs7(ywz500, ywz400, bfg)
new_esEs9(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_compare31(ywz5000, ywz4000, ty_Int) → new_compare8(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Ordering) → new_compare16(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_primMulNat0(Zero, Zero) → Zero
new_lt6(ywz5001, ywz4001, ty_Bool) → new_lt4(ywz5001, ywz4001)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cab), cac), cad)) → new_esEs6(ywz5000, ywz4000, cab, cac, cad)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Int, ca) → new_ltEs5(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bbf)) → new_esEs4(ywz5000, ywz4000, bbf)
new_ltEs21(ywz5001, ywz4001, app(app(app(ty_@3, bdh), bea), beb)) → new_ltEs17(ywz5001, ywz4001, bdh, bea, beb)
new_ltEs10(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcg, bch) → new_pePe(new_lt20(ywz5000, ywz4000, bcg), new_asAs(new_esEs28(ywz5000, ywz4000, bcg), new_ltEs21(ywz5001, ywz4001, bch)))
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_ltEs20(ywz500, ywz400, app(ty_Maybe, bfh)) → new_ltEs8(ywz500, ywz400, bfh)
new_esEs32(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_lt10(ywz5000, ywz4000, bed) → new_esEs8(new_compare32(ywz5000, ywz4000, bed), LT)
new_ltEs14(False, True) → True
new_esEs25(ywz5002, ywz4002, ty_Bool) → new_esEs17(ywz5002, ywz4002)
new_lt8(ywz5000, ywz4000) → new_esEs8(new_compare16(ywz5000, ywz4000), LT)
new_esEs26(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, ty_Double) → new_esEs16(ywz5002, ywz4002)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Double, ca) → new_ltEs13(ywz5000, ywz4000)
new_compare24(Left(ywz500), Right(ywz400), False, h, ba) → LT
new_ltEs9(ywz500, ywz400, bff) → new_not(new_esEs8(new_compare7(ywz500, ywz400, bff), GT))
new_compare5(Char(ywz5000), Char(ywz4000)) → new_primCmpNat0(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, ce), cf), ca) → new_ltEs10(ywz5000, ywz4000, ce, cf)
new_esEs17(True, True) → True
new_esEs18(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs18(ywz5002, ywz4002, app(ty_Ratio, bab)) → new_ltEs9(ywz5002, ywz4002, bab)
new_esEs12([], [], bbd) → True
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bbg)) → new_esEs13(ywz5000, ywz4000, bbg)
new_ltEs15(ywz500, ywz400) → new_not(new_esEs8(new_compare10(ywz500, ywz400), GT))
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Integer, ca) → new_esEs14(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, ty_Int) → new_ltEs5(ywz5001, ywz4001)
new_esEs22(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_esEs5(ywz5000, ywz4000, bef, beg)
new_lt9(ywz5000, ywz4000, bec) → new_esEs8(new_compare0(ywz5000, ywz4000, bec), LT)
new_esEs26(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, cc), ca) → new_ltEs8(ywz5000, ywz4000, cc)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Char, ca) → new_ltEs12(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_esEs4(ywz5001, ywz4001, gg)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, db), dc), dd), ca) → new_ltEs17(ywz5000, ywz4000, db, dc, dd)
new_ltEs18(ywz5002, ywz4002, app(ty_[], hh)) → new_ltEs7(ywz5002, ywz4002, hh)
new_primCmpNat1(ywz50000, Succ(ywz40000)) → new_primCmpNat0(ywz50000, ywz40000)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_esEs7(ywz5000, ywz4000, beh, bfa)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs9(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_ltEs19(ywz500, ywz400, app(app(ty_Either, de), ca)) → new_ltEs4(ywz500, ywz400, de, ca)
new_pePe(False, ywz225) → ywz225
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Right(ywz4000), de, ca) → False
new_esEs7(Right(ywz5000), Left(ywz4000), de, ca) → False
new_esEs12(:(ywz5000, ywz5001), [], bbd) → False
new_esEs12([], :(ywz4000, ywz4001), bbd) → False
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, ca) → new_ltEs6(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_primCmpNat1(ywz50000, Zero) → GT
new_esEs28(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_esEs7(ywz5000, ywz4000, ga, gb)
new_esEs26(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_ltEs20(ywz500, ywz400, app(app(ty_Either, bgd), bge)) → new_ltEs4(ywz500, ywz400, bgd, bge)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhe)) → new_ltEs9(ywz5000, ywz4000, bhe)
new_ltEs6(GT, EQ) → False
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(ty_Either, ec), ed)) → new_ltEs4(ywz5000, ywz4000, ec, ed)
new_esEs22(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs31(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, bbh), bca)) → new_esEs5(ywz5000, ywz4000, bbh, bca)
new_esEs14(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Right(ywz4000), de, ca) → True
new_esEs32(ywz500, ywz400, app(ty_Maybe, bfh)) → new_esEs4(ywz500, ywz400, bfh)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(ty_@2, ea), eb)) → new_esEs5(ywz5000, ywz4000, ea, eb)
new_primCmpNat0(Zero, Succ(ywz400000)) → LT
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Bool, ca) → new_ltEs14(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, ty_Char) → new_lt14(ywz5001, ywz4001)
new_ltEs8(Nothing, Just(ywz4000), bfe) → True
new_ltEs19(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_esEs8(LT, LT) → True
new_lt6(ywz5001, ywz4001, ty_Ordering) → new_lt8(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bdc)) → new_esEs13(ywz5001, ywz4001, bdc)
new_esEs28(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_lt19(ywz5000, ywz4000, gc, gd, ge)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Int, ca) → new_esEs11(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, cd), ca) → new_ltEs9(ywz5000, ywz4000, cd)
new_esEs25(ywz5002, ywz4002, ty_Ordering) → new_esEs8(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Double) → new_ltEs13(ywz5002, ywz4002)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_@0, ca) → new_ltEs16(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, app(ty_Ratio, bab)) → new_esEs13(ywz5002, ywz4002, bab)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bcd), bce), bcf)) → new_esEs6(ywz5000, ywz4000, bcd, bce, bcf)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_[], bhc)) → new_ltEs7(ywz5000, ywz4000, bhc)
new_pePe(True, ywz225) → True
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare8(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare9(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_compare0([], [], bbd) → EQ
new_compare14(ywz147, ywz148, False, bha, bhb) → GT
new_ltEs21(ywz5001, ywz4001, ty_Double) → new_ltEs13(ywz5001, ywz4001)
new_primEqNat0(Zero, Zero) → True
new_compare31(ywz5000, ywz4000, app(app(ty_Either, bcb), bcc)) → new_compare18(ywz5000, ywz4000, bcb, bcc)
new_compare26(ywz5000, ywz4000, True) → EQ
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(ty_[], fc)) → new_esEs12(ywz5000, ywz4000, fc)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_@2, ce), cf), ca) → new_esEs5(ywz5000, ywz4000, ce, cf)
new_ltEs21(ywz5001, ywz4001, app(ty_[], bda)) → new_ltEs7(ywz5001, ywz4001, bda)
new_primMulNat0(Succ(ywz500000), Succ(ywz400000)) → new_primPlusNat1(new_primMulNat0(ywz500000, Succ(ywz400000)), ywz400000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_[], bhc)) → new_esEs12(ywz5000, ywz4000, bhc)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cab), cac), cad)) → new_ltEs17(ywz5000, ywz4000, cab, cac, cad)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_esEs13(ywz5001, ywz4001, gh)
new_lt20(ywz5000, ywz4000, app(ty_[], bec)) → new_lt9(ywz5000, ywz4000, bec)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_esEs13(ywz5000, ywz4000, ff)
new_esEs17(False, False) → True
new_esEs17(False, True) → False
new_esEs17(True, False) → False
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Ordering, ca) → new_esEs8(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_lt16(ywz5000, ywz4000, ga, gb)
new_esEs15(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_ltEs18(ywz5002, ywz4002, ty_Int) → new_ltEs5(ywz5002, ywz4002)
new_ltEs19(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(app(ty_@3, ee), ef), eg)) → new_esEs6(ywz5000, ywz4000, ee, ef, eg)
new_sr(ywz5000, ywz4000) → new_primMulInt(ywz5000, ywz4000)
new_compare12(ywz154, ywz155, False, bbb, bbc) → GT
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_[], fc)) → new_lt9(ywz5000, ywz4000, fc)
new_esEs26(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_ltEs6(EQ, GT) → True
new_esEs8(GT, GT) → True
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_ltEs18(ywz5002, ywz4002, ty_Ordering) → new_ltEs6(ywz5002, ywz4002)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat1(ywz50000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(ty_Either, ec), ed)) → new_esEs7(ywz5000, ywz4000, ec, ed)
new_esEs31(ywz500, ywz400, app(app(ty_Either, de), ca)) → new_esEs7(ywz500, ywz400, de, ca)
new_esEs26(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_esEs6(ywz5001, ywz4001, he, hf, hg)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_compare25(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs14(ywz5000, ywz4000))
new_esEs31(ywz500, ywz400, ty_Float) → new_esEs18(ywz500, ywz400)
new_esEs8(LT, GT) → False
new_esEs8(GT, LT) → False
new_lt17(ywz5000, ywz4000) → new_esEs8(new_compare10(ywz5000, ywz4000), LT)
new_compare16(ywz5000, ywz4000) → new_compare26(ywz5000, ywz4000, new_esEs8(ywz5000, ywz4000))
new_compare29(ywz5000, ywz4000, False, bed) → new_compare110(ywz5000, ywz4000, new_ltEs8(ywz5000, ywz4000, bed), bed)
new_esEs25(ywz5002, ywz4002, app(ty_[], hh)) → new_esEs12(ywz5002, ywz4002, hh)
new_compare17(ywz5000, ywz4000, bfb, bfc, bfd) → new_compare210(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd), bfb, bfc, bfd)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_compare25(ywz5000, ywz4000, True) → EQ
new_ltEs20(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_lt11(ywz5000, ywz4000, bee)
new_compare6(ywz5000, ywz4000) → new_compare25(ywz5000, ywz4000, new_esEs17(ywz5000, ywz4000))
new_ltEs19(ywz500, ywz400, app(app(ty_@2, bcg), bch)) → new_ltEs10(ywz500, ywz400, bcg, bch)
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs28(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_compare13(ywz5000, ywz4000, False) → GT
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs28(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_esEs4(ywz5000, ywz4000, bed)
new_ltEs19(ywz500, ywz400, app(ty_Ratio, bff)) → new_ltEs9(ywz500, ywz400, bff)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_Ratio, dh)) → new_esEs13(ywz5000, ywz4000, dh)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs31(ywz500, ywz400, app(app(app(ty_@3, eh), fa), fb)) → new_esEs6(ywz500, ywz400, eh, fa, fb)
new_lt13(ywz5000, ywz4000) → new_esEs8(new_compare9(ywz5000, ywz4000), LT)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Ratio, cd), ca) → new_esEs13(ywz5000, ywz4000, cd)
new_esEs9(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_lt11(ywz5001, ywz4001, gh)
new_ltEs6(EQ, EQ) → True
new_ltEs20(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_primCmpNat2(Succ(ywz40000), ywz50000) → new_primCmpNat0(ywz40000, ywz50000)
new_compare8(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cg), da), ca) → new_ltEs4(ywz5000, ywz4000, cg, da)
new_ltEs19(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_primCompAux0(ywz333, GT) → GT
new_esEs8(EQ, EQ) → True
new_primPlusNat1(Zero, ywz400000) → Succ(ywz400000)
new_ltEs6(GT, GT) → True
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_compare24(ywz50, ywz40, True, h, ba) → EQ
new_compare31(ywz5000, ywz4000, ty_@0) → new_compare28(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, app(app(ty_Either, bdf), bdg)) → new_ltEs4(ywz5001, ywz4001, bdf, bdg)
new_compare31(ywz5000, ywz4000, app(ty_Maybe, bbf)) → new_compare32(ywz5000, ywz4000, bbf)
new_esEs19(@0, @0) → True
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_esEs7(ywz5001, ywz4001, hc, hd)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_esEs23(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_ltEs18(ywz5002, ywz4002, app(app(ty_@2, bac), bad)) → new_ltEs10(ywz5002, ywz4002, bac, bad)
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhh), caa)) → new_esEs7(ywz5000, ywz4000, bhh, caa)
new_primCmpNat0(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat0(ywz500000, ywz400000)
new_esEs22(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_esEs4(ywz5000, ywz4000, bed)
new_esEs22(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, app(ty_Maybe, baa)) → new_esEs4(ywz5002, ywz4002, baa)
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_compare27(ywz5000, ywz4000, True, bef, beg) → EQ
new_esEs32(ywz500, ywz400, app(app(ty_Either, bgd), bge)) → new_esEs7(ywz500, ywz400, bgd, bge)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bhf), bhg)) → new_esEs5(ywz5000, ywz4000, bhf, bhg)
new_compare31(ywz5000, ywz4000, app(app(app(ty_@3, bcd), bce), bcf)) → new_compare17(ywz5000, ywz4000, bcd, bce, bcf)
new_ltEs19(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_compare31(ywz5000, ywz4000, ty_Bool) → new_compare6(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_compare12(ywz154, ywz155, True, bbb, bbc) → LT
new_ltEs20(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_ltEs14(False, False) → True
new_esEs16(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_[], df)) → new_esEs12(ywz5000, ywz4000, df)
new_esEs13(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), bff) → new_asAs(new_esEs24(ywz5000, ywz4000, bff), new_esEs23(ywz5001, ywz4001, bff))
new_compare111(ywz5000, ywz4000, True, bfb, bfc, bfd) → LT
new_esEs32(ywz500, ywz400, ty_@0) → new_esEs19(ywz500, ywz400)
new_esEs28(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, ty_@0) → new_esEs19(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_@0) → new_ltEs16(ywz5002, ywz4002)
new_ltEs8(Just(ywz5000), Nothing, bfe) → False
new_ltEs12(ywz500, ywz400) → new_not(new_esEs8(new_compare5(ywz500, ywz400), GT))
new_esEs9(ywz5001, ywz4001, app(ty_[], gf)) → new_esEs12(ywz5001, ywz4001, gf)
new_esEs22(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs28(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs8(LT, EQ) → False
new_esEs8(EQ, LT) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_esEs10(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_esEs7(ywz5000, ywz4000, ga, gb)
new_esEs31(ywz500, ywz400, ty_Bool) → new_esEs17(ywz500, ywz400)
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_lt4(ywz5000, ywz4000) → new_esEs8(new_compare6(ywz5000, ywz4000), LT)
new_ltEs18(ywz5002, ywz4002, ty_Integer) → new_ltEs11(ywz5002, ywz4002)
new_primPlusNat0(Zero, Succ(ywz4000000)) → Succ(ywz4000000)
new_primPlusNat0(Succ(ywz24800), Zero) → Succ(ywz24800)
new_esEs31(ywz500, ywz400, app(app(ty_@2, bcg), bch)) → new_esEs5(ywz500, ywz400, bcg, bch)
new_esEs5(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcg, bch) → new_asAs(new_esEs22(ywz5000, ywz4000, bcg), new_esEs21(ywz5001, ywz4001, bch))
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(ywz500000), Zero) → GT
new_esEs22(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_compare210(ywz5000, ywz4000, True, bfb, bfc, bfd) → EQ
new_esEs22(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_esEs13(ywz5000, ywz4000, bee)
new_lt6(ywz5001, ywz4001, ty_Float) → new_lt17(ywz5001, ywz4001)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(app(ty_@3, ee), ef), eg)) → new_ltEs17(ywz5000, ywz4000, ee, ef, eg)
new_compare13(ywz5000, ywz4000, True) → LT
new_sr0(Integer(ywz50000), Integer(ywz40010)) → Integer(new_primMulInt(ywz50000, ywz40010))
new_esEs32(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_[], cb), ca) → new_esEs12(ywz5000, ywz4000, cb)
new_esEs32(ywz500, ywz400, app(ty_[], bfg)) → new_esEs12(ywz500, ywz400, bfg)
new_ltEs18(ywz5002, ywz4002, app(app(ty_Either, bae), baf)) → new_ltEs4(ywz5002, ywz4002, bae, baf)
new_compare15(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_ltEs20(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_lt6(ywz5001, ywz4001, ty_Double) → new_lt15(ywz5001, ywz4001)
new_esEs32(ywz500, ywz400, app(app(ty_@2, bgb), bgc)) → new_esEs5(ywz500, ywz400, bgb, bgc)
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_esEs20(ywz5000, ywz4000, app(ty_[], bbe)) → new_esEs12(ywz5000, ywz4000, bbe)
new_compare24(Right(ywz500), Left(ywz400), False, h, ba) → GT
new_esEs28(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_esEs7(ywz5000, ywz4000, beh, bfa)
new_compare30(ywz5000, ywz4000, bef, beg) → new_compare27(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bef, beg), bef, beg)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_Maybe, dg)) → new_esEs4(ywz5000, ywz4000, dg)
new_ltEs17(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), eh, fa, fb) → new_pePe(new_lt5(ywz5000, ywz4000, eh), new_asAs(new_esEs10(ywz5000, ywz4000, eh), new_pePe(new_lt6(ywz5001, ywz4001, fa), new_asAs(new_esEs9(ywz5001, ywz4001, fa), new_ltEs18(ywz5002, ywz4002, fb)))))
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, app(ty_[], gf)) → new_lt9(ywz5001, ywz4001, gf)
new_lt5(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_lt16(ywz50, ywz40, h, ba) → new_esEs8(new_compare18(ywz50, ywz40, h, ba), LT)
new_esEs8(EQ, GT) → False
new_esEs8(GT, EQ) → False
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, ty_Integer) → new_lt13(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_esEs5(ywz5001, ywz4001, ha, hb)
new_esEs32(ywz500, ywz400, ty_Bool) → new_esEs17(ywz500, ywz400)
new_esEs22(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bdd), bde)) → new_esEs5(ywz5001, ywz4001, bdd, bde)
new_primCompAux0(ywz333, LT) → LT
new_esEs9(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_not(False) → True
new_esEs11(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Left(ywz4000), de, ca) → False
new_ltEs20(ywz500, ywz400, app(app(app(ty_@3, bgf), bgg), bgh)) → new_ltEs17(ywz500, ywz400, bgf, bgg, bgh)
new_esEs31(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_compare110(ywz5000, ywz4000, True, bed) → LT
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Double, ca) → new_esEs16(ywz5000, ywz4000)
new_compare210(ywz5000, ywz4000, False, bfb, bfc, bfd) → new_compare111(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000, bfb, bfc, bfd), bfb, bfc, bfd)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs32(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_ltEs21(ywz5001, ywz4001, ty_Char) → new_ltEs12(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, ty_Float) → new_esEs18(ywz5002, ywz4002)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_lt16(ywz5000, ywz4000, beh, bfa)
new_esEs9(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs28(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_esEs5(ywz5000, ywz4000, bef, beg)
new_compare0(:(ywz5000, ywz5001), [], bbd) → GT
new_lt6(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_lt19(ywz5001, ywz4001, he, hf, hg)
new_lt7(ywz5000, ywz4000) → new_esEs8(new_compare8(ywz5000, ywz4000), LT)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs32(ywz500, ywz400, ty_Float) → new_esEs18(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_Ratio, dh)) → new_ltEs9(ywz5000, ywz4000, dh)
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_compare27(ywz5000, ywz4000, False, bef, beg) → new_compare19(ywz5000, ywz4000, new_ltEs10(ywz5000, ywz4000, bef, beg), bef, beg)
new_lt6(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_lt10(ywz5001, ywz4001, gg)
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_lt11(ywz5000, ywz4000, ff)
new_primMulInt(Pos(ywz50000), Pos(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs18(ywz5000, ywz4000)
new_ltEs19(ywz500, ywz400, app(ty_Maybe, bfe)) → new_ltEs8(ywz500, ywz400, bfe)
new_primMulInt(Neg(ywz50000), Neg(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_esEs9(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_esEs13(ywz5001, ywz4001, gh)
new_ltEs19(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(ty_@2, ea), eb)) → new_ltEs10(ywz5000, ywz4000, ea, eb)
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_lt20(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_lt12(ywz5000, ywz4000, bef, beg)
new_primPlusNat0(Zero, Zero) → Zero
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Float, ca) → new_ltEs15(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(ty_[], bda)) → new_esEs12(ywz5001, ywz4001, bda)
new_ltEs6(LT, LT) → True
new_ltEs6(EQ, LT) → False
new_ltEs14(True, True) → True
new_lt20(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_lt10(ywz5000, ywz4000, bed)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_ltEs18(ywz5002, ywz4002, app(app(app(ty_@3, bag), bah), bba)) → new_ltEs17(ywz5002, ywz4002, bag, bah, bba)
new_esEs28(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs4(Nothing, Nothing, bfe) → True
new_ltEs21(ywz5001, ywz4001, app(ty_Ratio, bdc)) → new_ltEs9(ywz5001, ywz4001, bdc)
new_compare111(ywz5000, ywz4000, False, bfb, bfc, bfd) → GT
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhe)) → new_esEs13(ywz5000, ywz4000, bhe)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_esEs6(ywz5000, ywz4000, gc, gd, ge)
new_compare31(ywz5000, ywz4000, app(app(ty_@2, bbh), bca)) → new_compare30(ywz5000, ywz4000, bbh, bca)
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_esEs5(ywz5000, ywz4000, fg, fh)
new_lt5(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_esEs23(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhh), caa)) → new_ltEs4(ywz5000, ywz4000, bhh, caa)
new_esEs10(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_esEs5(ywz5000, ywz4000, fg, fh)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_esEs4(ywz5000, ywz4000, fd)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bdf), bdg)) → new_esEs7(ywz5001, ywz4001, bdf, bdg)
new_primPlusNat1(Succ(ywz2480), ywz400000) → Succ(Succ(new_primPlusNat0(ywz2480, ywz400000)))
new_lt15(ywz5000, ywz4000) → new_esEs8(new_compare15(ywz5000, ywz4000), LT)
new_ltEs21(ywz5001, ywz4001, app(ty_Maybe, bdb)) → new_ltEs8(ywz5001, ywz4001, bdb)
new_lt6(ywz5001, ywz4001, ty_Int) → new_lt7(ywz5001, ywz4001)
new_lt19(ywz5000, ywz4000, bfb, bfc, bfd) → new_esEs8(new_compare17(ywz5000, ywz4000, bfb, bfc, bfd), LT)
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_compare110(ywz5000, ywz4000, False, bed) → GT
new_esEs25(ywz5002, ywz4002, ty_Integer) → new_esEs14(ywz5002, ywz4002)
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bbd) → new_primCompAux1(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, bbd), bbd)
new_ltEs19(ywz500, ywz400, app(ty_[], bbd)) → new_ltEs7(ywz500, ywz400, bbd)
new_compare19(ywz5000, ywz4000, True, bef, beg) → LT
new_esEs32(ywz500, ywz400, ty_Int) → new_esEs11(ywz500, ywz400)
new_compare31(ywz5000, ywz4000, ty_Integer) → new_compare9(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_Ratio, bbg)) → new_compare7(ywz5000, ywz4000, bbg)
new_ltEs5(ywz500, ywz400) → new_not(new_esEs8(new_compare8(ywz500, ywz400), GT))
new_lt6(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_lt16(ywz5001, ywz4001, hc, hd)
new_esEs24(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs9(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_ltEs19(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs21(ywz5001, ywz4001, ty_@0) → new_ltEs16(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bdb)) → new_esEs4(ywz5001, ywz4001, bdb)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, bcb), bcc)) → new_esEs7(ywz5000, ywz4000, bcb, bcc)
new_lt5(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, ty_Integer) → new_ltEs11(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_esEs5(ywz5001, ywz4001, ha, hb)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_compare29(ywz5000, ywz4000, True, bed) → EQ
new_primCompAux1(ywz5000, ywz4000, ywz290, bbd) → new_primCompAux0(ywz290, new_compare31(ywz5000, ywz4000, bbd))
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bhd)) → new_ltEs8(ywz5000, ywz4000, bhd)
new_compare18(ywz50, ywz40, h, ba) → new_compare24(ywz50, ywz40, new_esEs7(ywz50, ywz40, h, ba), h, ba)
new_lt5(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Char) → new_compare5(ywz5000, ywz4000)
new_esEs32(ywz500, ywz400, app(ty_Ratio, bga)) → new_esEs13(ywz500, ywz400, bga)
new_compare9(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_asAs(False, ywz142) → False
new_esEs10(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_esEs6(ywz5000, ywz4000, gc, gd, ge)
new_primMulInt(Pos(ywz50000), Neg(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Neg(ywz50000), Pos(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat2(ywz4000, ywz50000)
new_primMulNat0(Succ(ywz500000), Zero) → Zero
new_primMulNat0(Zero, Succ(ywz400000)) → Zero
new_esEs26(ywz5001, ywz4001, app(ty_[], gf)) → new_esEs12(ywz5001, ywz4001, gf)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_esEs4(ywz5001, ywz4001, gg)
new_esEs31(ywz500, ywz400, ty_Double) → new_esEs16(ywz500, ywz400)
new_ltEs21(ywz5001, ywz4001, ty_Bool) → new_ltEs14(ywz5001, ywz4001)
new_esEs10(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_esEs13(ywz5000, ywz4000, ff)
new_lt6(ywz5001, ywz4001, ty_@0) → new_lt18(ywz5001, ywz4001)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Float, ca) → new_esEs18(ywz5000, ywz4000)
new_ltEs18(ywz5002, ywz4002, ty_Bool) → new_ltEs14(ywz5002, ywz4002)
new_compare10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_compare31(ywz5000, ywz4000, app(ty_[], bbe)) → new_compare0(ywz5000, ywz4000, bbe)
new_esEs28(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_ltEs18(ywz5002, ywz4002, ty_Char) → new_ltEs12(ywz5002, ywz4002)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat2(Zero, ywz40000)
new_esEs25(ywz5002, ywz4002, app(app(app(ty_@3, bag), bah), bba)) → new_esEs6(ywz5002, ywz4002, bag, bah, bba)
new_esEs31(ywz500, ywz400, ty_@0) → new_esEs19(ywz500, ywz400)
new_esEs10(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_ltEs6(LT, GT) → True
new_esEs10(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, db), dc), dd), ca) → new_esEs6(ywz5000, ywz4000, db, dc, dd)
new_ltEs21(ywz5001, ywz4001, app(app(ty_@2, bdd), bde)) → new_ltEs10(ywz5001, ywz4001, bdd, bde)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(ty_[], bec)) → new_esEs12(ywz5000, ywz4000, bec)
new_esEs24(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_[], cb), ca) → new_ltEs7(ywz5000, ywz4000, cb)
new_ltEs21(ywz5001, ywz4001, ty_Ordering) → new_ltEs6(ywz5001, ywz4001)
new_esEs32(ywz500, ywz400, app(app(app(ty_@3, bgf), bgg), bgh)) → new_esEs6(ywz500, ywz400, bgf, bgg, bgh)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_esEs13(ywz5000, ywz4000, bee)
new_ltEs18(ywz5002, ywz4002, app(ty_Maybe, baa)) → new_ltEs8(ywz5002, ywz4002, baa)
new_ltEs14(True, False) → False
new_esEs25(ywz5002, ywz4002, ty_Char) → new_esEs15(ywz5002, ywz4002)
new_compare11(ywz5000, ywz4000, False) → GT
new_ltEs13(ywz500, ywz400) → new_not(new_esEs8(new_compare15(ywz500, ywz400), GT))
new_lt11(ywz5000, ywz4000, bee) → new_esEs8(new_compare7(ywz5000, ywz4000, bee), LT)
new_lt5(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_lt12(ywz5000, ywz4000, fg, fh)
new_ltEs8(Nothing, Nothing, bfe) → True
new_esEs26(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, app(app(ty_@2, bac), bad)) → new_esEs5(ywz5002, ywz4002, bac, bad)
new_ltEs16(ywz500, ywz400) → new_not(new_esEs8(new_compare28(ywz500, ywz400), GT))
new_compare11(ywz5000, ywz4000, True) → LT
new_ltEs19(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_esEs31(ywz500, ywz400, app(ty_Maybe, bfe)) → new_esEs4(ywz500, ywz400, bfe)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_[], df)) → new_ltEs7(ywz5000, ywz4000, df)
new_esEs9(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_ltEs19(ywz500, ywz400, app(app(app(ty_@3, eh), fa), fb)) → new_ltEs17(ywz500, ywz400, eh, fa, fb)
new_ltEs20(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_compare14(ywz147, ywz148, True, bha, bhb) → LT
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Bool, ca) → new_esEs17(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat1(ywz40000, Zero)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs19(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Float) → new_compare10(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_primPlusNat0(Succ(ywz24800), Succ(ywz4000000)) → Succ(Succ(new_primPlusNat0(ywz24800, ywz4000000)))
new_esEs9(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_esEs6(ywz5001, ywz4001, he, hf, hg)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_Maybe, dg)) → new_ltEs8(ywz5000, ywz4000, dg)
new_lt5(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_lt10(ywz5000, ywz4000, fd)
new_compare0([], :(ywz4000, ywz4001), bbd) → LT
new_ltEs6(LT, EQ) → True
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bdh), bea), beb)) → new_esEs6(ywz5001, ywz4001, bdh, bea, beb)
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_lt19(ywz5000, ywz4000, bfb, bfc, bfd)
new_ltEs6(GT, LT) → False
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_asAs(True, ywz142) → ywz142
new_esEs28(ywz5000, ywz4000, app(ty_[], bec)) → new_esEs12(ywz5000, ywz4000, bec)
new_esEs27(ywz5000, ywz4000, app(ty_[], fc)) → new_esEs12(ywz5000, ywz4000, fc)
new_esEs25(ywz5002, ywz4002, ty_Int) → new_esEs11(ywz5002, ywz4002)
new_lt12(ywz5000, ywz4000, bef, beg) → new_esEs8(new_compare30(ywz5000, ywz4000, bef, beg), LT)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_@0, ca) → new_esEs19(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Integer, ca) → new_ltEs11(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bhf), bhg)) → new_ltEs10(ywz5000, ywz4000, bhf, bhg)
new_ltEs21(ywz5001, ywz4001, ty_Float) → new_ltEs15(ywz5001, ywz4001)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Char, ca) → new_esEs15(ywz5000, ywz4000)
new_esEs32(ywz500, ywz400, ty_Double) → new_esEs16(ywz500, ywz400)
new_esEs9(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_esEs7(ywz5001, ywz4001, hc, hd)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs31(ywz500, ywz400, app(ty_Ratio, bff)) → new_esEs13(ywz500, ywz400, bff)
new_esEs31(ywz500, ywz400, ty_Int) → new_esEs11(ywz500, ywz400)
new_esEs26(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, bbd) → new_not(new_esEs8(new_compare0(ywz500, ywz400, bbd), GT))
new_ltEs20(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_compare32(ywz5000, ywz4000, bed) → new_compare29(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, bed), bed)
new_compare19(ywz5000, ywz4000, False, bef, beg) → GT
new_esEs28(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, app(app(ty_Either, bae), baf)) → new_esEs7(ywz5002, ywz4002, bae, baf)
new_lt5(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_lt6(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_lt12(ywz5001, ywz4001, ha, hb)
new_primCompAux0(ywz333, EQ) → ywz333
new_esEs6(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), eh, fa, fb) → new_asAs(new_esEs27(ywz5000, ywz4000, eh), new_asAs(new_esEs26(ywz5001, ywz4001, fa), new_esEs25(ywz5002, ywz4002, fb)))
new_ltEs20(ywz500, ywz400, app(app(ty_@2, bgb), bgc)) → new_ltEs10(ywz500, ywz400, bgb, bgc)
new_ltEs19(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_compare28(@0, @0) → EQ
new_esEs10(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_esEs4(ywz5000, ywz4000, fd)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs10(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_lt18(ywz5000, ywz4000) → new_esEs8(new_compare28(ywz5000, ywz4000), LT)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_not(True) → False
new_compare24(Right(ywz500), Right(ywz400), False, h, ba) → new_compare12(ywz500, ywz400, new_ltEs20(ywz500, ywz400, ba), h, ba)

The set Q consists of the following terms:

new_esEs7(Left(x0), Left(x1), ty_Int, x2)
new_esEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs21(x0, x1, ty_Int)
new_compare24(Right(x0), Right(x1), False, x2, x3)
new_esEs18(Float(x0, x1), Float(x2, x3))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs16(x0, x1)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_primCmpNat1(x0, Succ(x1))
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(x0, x1, ty_Double)
new_lt6(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Double)
new_compare27(x0, x1, True, x2, x3)
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Int)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt9(x0, x1, x2)
new_esEs31(x0, x1, app(ty_[], x2))
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_ltEs21(x0, x1, ty_Ordering)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_primCompAux0(x0, EQ)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, ty_Bool)
new_esEs32(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Bool)
new_esEs31(x0, x1, ty_Bool)
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, ty_Ordering)
new_compare15(Double(x0, x1), Double(x2, x3))
new_esEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_lt6(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_primCmpNat0(Succ(x0), Zero)
new_esEs26(x0, x1, app(ty_[], x2))
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_esEs32(x0, x1, app(ty_Ratio, x2))
new_lt4(x0, x1)
new_ltEs21(x0, x1, ty_Double)
new_lt10(x0, x1, x2)
new_compare5(Char(x0), Char(x1))
new_ltEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs14(True, False)
new_ltEs14(False, True)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs20(x0, x1, ty_Ordering)
new_lt8(x0, x1)
new_esEs8(GT, GT)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(x0, x1, x2)
new_esEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs32(x0, x1, ty_Double)
new_lt20(x0, x1, app(ty_[], x2))
new_compare14(x0, x1, True, x2, x3)
new_compare30(x0, x1, x2, x3)
new_esEs26(x0, x1, ty_Int)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_Integer)
new_esEs7(Left(x0), Left(x1), ty_Integer, x2)
new_esEs8(LT, LT)
new_esEs26(x0, x1, ty_Float)
new_primPlusNat1(Zero, x0)
new_ltEs19(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_compare27(x0, x1, False, x2, x3)
new_lt20(x0, x1, ty_Int)
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs31(x0, x1, ty_@0)
new_compare0(:(x0, x1), [], x2)
new_ltEs19(x0, x1, ty_Float)
new_esEs17(False, False)
new_lt20(x0, x1, ty_Integer)
new_esEs7(Right(x0), Right(x1), x2, ty_Float)
new_esEs31(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Float)
new_lt5(x0, x1, ty_Int)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_compare210(x0, x1, True, x2, x3, x4)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Bool)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, ty_Bool)
new_ltEs6(EQ, EQ)
new_pePe(False, x0)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_compare12(x0, x1, False, x2, x3)
new_esEs7(Left(x0), Left(x1), ty_Char, x2)
new_esEs8(LT, GT)
new_esEs8(GT, LT)
new_ltEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_compare9(Integer(x0), Integer(x1))
new_pePe(True, x0)
new_esEs28(x0, x1, ty_Int)
new_esEs7(Left(x0), Left(x1), ty_Float, x2)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs4(Just(x0), Just(x1), ty_@0)
new_esEs4(Just(x0), Just(x1), ty_Int)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs6(LT, EQ)
new_ltEs20(x0, x1, ty_@0)
new_ltEs6(EQ, LT)
new_compare7(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_primEqNat0(Zero, Zero)
new_ltEs19(x0, x1, ty_Double)
new_esEs7(Right(x0), Right(x1), x2, ty_Int)
new_ltEs8(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs19(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Bool)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Char)
new_compare26(x0, x1, True)
new_esEs12(:(x0, x1), [], x2)
new_compare110(x0, x1, False, x2)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs4(Right(x0), Right(x1), x2, ty_Integer)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_ltEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_compare29(x0, x1, False, x2)
new_esEs4(Just(x0), Just(x1), app(ty_Ratio, x2))
new_lt6(x0, x1, app(ty_Maybe, x2))
new_compare28(@0, @0)
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs28(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Char)
new_primMulNat0(Zero, Zero)
new_esEs28(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, ty_@0)
new_ltEs21(x0, x1, ty_Float)
new_esEs9(x0, x1, ty_Integer)
new_ltEs10(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt20(x0, x1, ty_@0)
new_primCompAux1(x0, x1, x2, x3)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Double)
new_lt6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs19(x0, x1, ty_Int)
new_compare29(x0, x1, True, x2)
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs22(x0, x1, ty_@0)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_esEs31(x0, x1, ty_Integer)
new_ltEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs32(x0, x1, ty_Char)
new_esEs9(x0, x1, ty_Bool)
new_esEs4(Just(x0), Just(x1), ty_Float)
new_lt5(x0, x1, ty_@0)
new_esEs10(x0, x1, ty_Ordering)
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_esEs12([], :(x0, x1), x2)
new_ltEs8(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs7(Left(x0), Left(x1), ty_Double, x2)
new_esEs28(x0, x1, ty_Integer)
new_lt6(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Double)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs8(Nothing, Nothing, x0)
new_esEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs20(x0, x1, ty_@0)
new_esEs25(x0, x1, ty_Int)
new_ltEs20(x0, x1, ty_Int)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, ty_Char)
new_compare24(Left(x0), Right(x1), False, x2, x3)
new_compare24(Right(x0), Left(x1), False, x2, x3)
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs18(x0, x1, ty_Char)
new_esEs21(x0, x1, ty_Integer)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs32(x0, x1, ty_Integer)
new_asAs(False, x0)
new_esEs25(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, ty_Char)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_primMulNat0(Succ(x0), Succ(x1))
new_ltEs4(Right(x0), Right(x1), x2, ty_@0)
new_esEs22(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), ty_Double)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, ty_Ordering)
new_primCmpNat1(x0, Zero)
new_primCmpNat2(Zero, x0)
new_ltEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs11(x0, x1)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_primPlusNat0(Zero, Zero)
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_esEs31(x0, x1, ty_Ordering)
new_esEs12(:(x0, x1), :(x2, x3), x4)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Ordering)
new_lt6(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare13(x0, x1, True)
new_compare12(x0, x1, True, x2, x3)
new_lt6(x0, x1, ty_Float)
new_sr(x0, x1)
new_ltEs8(Just(x0), Just(x1), ty_Int)
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_compare14(x0, x1, False, x2, x3)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_compare7(:%(x0, x1), :%(x2, x3), ty_Int)
new_ltEs4(Left(x0), Left(x1), ty_Int, x2)
new_esEs32(x0, x1, ty_Float)
new_esEs4(Just(x0), Just(x1), ty_Ordering)
new_primMulNat0(Zero, Succ(x0))
new_esEs32(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_compare8(x0, x1)
new_lt12(x0, x1, x2, x3)
new_compare31(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Bool)
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs8(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, ty_Ordering)
new_esEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs5(x0, x1)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, ty_Double)
new_lt15(x0, x1)
new_ltEs20(x0, x1, ty_Ordering)
new_lt6(x0, x1, ty_Int)
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs8(Just(x0), Just(x1), ty_Bool)
new_ltEs4(Left(x0), Left(x1), ty_Integer, x2)
new_primPlusNat0(Succ(x0), Succ(x1))
new_esEs7(Right(x0), Right(x1), x2, ty_Double)
new_lt6(x0, x1, ty_Integer)
new_ltEs8(Just(x0), Just(x1), app(ty_[], x2))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs4(Right(x0), Right(x1), x2, ty_Float)
new_ltEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs4(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_ltEs8(Just(x0), Just(x1), ty_Double)
new_esEs4(Just(x0), Just(x1), app(ty_[], x2))
new_esEs14(Integer(x0), Integer(x1))
new_ltEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs25(x0, x1, ty_Float)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primMulNat0(Succ(x0), Zero)
new_esEs10(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Double)
new_esEs16(Double(x0, x1), Double(x2, x3))
new_compare24(x0, x1, True, x2, x3)
new_compare6(x0, x1)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_compare32(x0, x1, x2)
new_lt5(x0, x1, ty_Bool)
new_lt13(x0, x1)
new_primCompAux0(x0, LT)
new_lt18(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs8(EQ, EQ)
new_compare13(x0, x1, False)
new_primPlusNat0(Zero, Succ(x0))
new_ltEs8(Just(x0), Just(x1), ty_Ordering)
new_ltEs19(x0, x1, ty_Integer)
new_esEs4(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs10(x0, x1, ty_Float)
new_lt17(x0, x1)
new_esEs4(Nothing, Just(x0), x1)
new_esEs22(x0, x1, ty_Int)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_compare19(x0, x1, False, x2, x3)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Char)
new_esEs7(Right(x0), Right(x1), x2, ty_Bool)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_compare24(Left(x0), Left(x1), False, x2, x3)
new_esEs11(x0, x1)
new_lt5(x0, x1, ty_Integer)
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_sr0(Integer(x0), Integer(x1))
new_esEs31(x0, x1, ty_Double)
new_lt6(x0, x1, ty_Bool)
new_esEs9(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Double)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs32(x0, x1, app(ty_Maybe, x2))
new_ltEs12(x0, x1)
new_esEs22(x0, x1, ty_Bool)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, ty_Float)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Integer)
new_ltEs8(Nothing, Just(x0), x1)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs4(Nothing, Nothing, x0)
new_ltEs8(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs20(x0, x1, ty_Float)
new_ltEs4(Left(x0), Left(x1), ty_Float, x2)
new_compare18(x0, x1, x2, x3)
new_ltEs6(GT, GT)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_primMulInt(Neg(x0), Neg(x1))
new_lt5(x0, x1, app(ty_Maybe, x2))
new_esEs8(GT, EQ)
new_esEs8(EQ, GT)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, app(ty_Ratio, x2))
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_lt6(x0, x1, ty_Double)
new_lt6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_compare17(x0, x1, x2, x3, x4)
new_esEs24(x0, x1, ty_Integer)
new_primCmpNat0(Zero, Zero)
new_esEs32(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs10(x0, x1, ty_@0)
new_ltEs6(LT, LT)
new_esEs26(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_@0)
new_esEs28(x0, x1, ty_Ordering)
new_ltEs21(x0, x1, app(ty_[], x2))
new_ltEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs18(x0, x1, app(ty_[], x2))
new_compare111(x0, x1, False, x2, x3, x4)
new_esEs25(x0, x1, ty_Integer)
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_lt16(x0, x1, x2, x3)
new_primCmpNat0(Zero, Succ(x0))
new_ltEs9(x0, x1, x2)
new_esEs7(Right(x0), Right(x1), x2, ty_Integer)
new_esEs22(x0, x1, ty_Char)
new_compare31(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Char)
new_ltEs8(Just(x0), Just(x1), ty_@0)
new_primPlusNat0(Succ(x0), Zero)
new_esEs7(Right(x0), Right(x1), x2, ty_Char)
new_esEs31(x0, x1, ty_Float)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt19(x0, x1, x2, x3, x4)
new_ltEs4(Left(x0), Left(x1), ty_Char, x2)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs22(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_ltEs8(Just(x0), Just(x1), ty_Integer)
new_ltEs21(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Int)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs4(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_compare210(x0, x1, False, x2, x3, x4)
new_lt14(x0, x1)
new_compare25(x0, x1, True)
new_ltEs14(True, True)
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs14(False, False)
new_lt11(x0, x1, x2)
new_compare111(x0, x1, True, x2, x3, x4)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Double)
new_ltEs4(Right(x0), Right(x1), x2, ty_Int)
new_compare19(x0, x1, True, x2, x3)
new_esEs22(x0, x1, ty_Float)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_compare10(Float(x0, x1), Float(x2, x3))
new_esEs24(x0, x1, ty_Int)
new_esEs32(x0, x1, app(app(ty_@2, x2), x3))
new_esEs31(x0, x1, ty_Int)
new_not(True)
new_esEs32(x0, x1, ty_Bool)
new_ltEs8(Just(x0), Just(x1), ty_Float)
new_esEs27(x0, x1, ty_Char)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs21(x0, x1, ty_@0)
new_esEs21(x0, x1, ty_@0)
new_esEs7(Right(x0), Right(x1), x2, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_esEs4(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Double)
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_not(False)
new_compare31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs32(x0, x1, ty_Int)
new_compare31(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt6(x0, x1, ty_Char)
new_ltEs4(Left(x0), Right(x1), x2, x3)
new_lt6(x0, x1, app(ty_Ratio, x2))
new_ltEs4(Right(x0), Left(x1), x2, x3)
new_esEs4(Just(x0), Just(x1), ty_Integer)
new_esEs26(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_@0)
new_compare25(x0, x1, False)
new_esEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs6(EQ, GT)
new_ltEs6(GT, EQ)
new_esEs13(:%(x0, x1), :%(x2, x3), x4)
new_compare31(x0, x1, ty_Integer)
new_ltEs18(x0, x1, ty_Double)
new_esEs7(Left(x0), Left(x1), ty_@0, x2)
new_esEs9(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_@0)
new_ltEs8(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs13(x0, x1)
new_ltEs4(Left(x0), Left(x1), ty_Double, x2)
new_ltEs8(Just(x0), Just(x1), ty_Char)
new_esEs15(Char(x0), Char(x1))
new_compare16(x0, x1)
new_ltEs15(x0, x1)
new_esEs9(x0, x1, ty_Float)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_asAs(True, x0)
new_esEs8(EQ, LT)
new_esEs8(LT, EQ)
new_esEs7(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_compare0([], [], x0)
new_primCompAux0(x0, GT)
new_ltEs18(x0, x1, ty_Ordering)
new_esEs9(x0, x1, ty_Int)
new_lt7(x0, x1)
new_esEs32(x0, x1, ty_@0)
new_ltEs8(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs20(x0, x1, ty_Bool)
new_esEs20(x0, x1, ty_Float)
new_compare31(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_@0)
new_esEs12([], [], x0)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs17(False, True)
new_esEs17(True, False)
new_esEs25(x0, x1, ty_Char)
new_esEs7(Right(x0), Left(x1), x2, x3)
new_esEs7(Left(x0), Right(x1), x2, x3)
new_compare31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs17(True, True)
new_esEs23(x0, x1, ty_Int)
new_compare26(x0, x1, False)
new_esEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_primEqNat0(Zero, Succ(x0))
new_lt5(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpNat2(Succ(x0), x1)
new_esEs10(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_Bool)
new_esEs28(x0, x1, ty_@0)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare0([], :(x0, x1), x2)
new_esEs19(@0, @0)
new_compare11(x0, x1, False)
new_esEs20(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_Int)
new_compare110(x0, x1, True, x2)
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_esEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_compare11(x0, x1, True)
new_ltEs4(Right(x0), Right(x1), x2, ty_Char)
new_primPlusNat1(Succ(x0), x1)
new_esEs9(x0, x1, ty_@0)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ AND
                                        ↳ QDP
                                          ↳ UsableRulesProof
QDP
                                              ↳ QReductionProof
                                        ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_splitLT21(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba, bb) → new_splitLT11(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare18(Right(ywz500), Left(ywz400), h, ba), GT), h, ba, bb)
new_splitLT22(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, True, bf, bg, bh) → new_splitLT0(ywz36, ywz38, bf, bg, bh)
new_splitLT11(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba, bb) → new_splitLT0(ywz44, ywz500, h, ba, bb)
new_splitLT3(Left(ywz400), ywz41, ywz42, ywz43, ywz44, Right(ywz500), h, ba, bb) → new_splitLT21(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Right(ywz500), Left(ywz400), False, h, ba), LT), h, ba, bb)
new_splitLT3(Right(ywz400), ywz41, ywz42, ywz43, ywz44, Right(ywz500), h, ba, bb) → new_splitLT22(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Right(ywz500), Right(ywz400), new_esEs32(ywz500, ywz400, ba), h, ba), LT), h, ba, bb)
new_splitLT21(ywz400, ywz41, ywz42, Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz44, ywz500, True, h, ba, bb) → new_splitLT3(ywz430, ywz431, ywz432, ywz433, ywz434, Right(ywz500), h, ba, bb)
new_splitLT0(Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz500, h, ba, bb) → new_splitLT3(ywz430, ywz431, ywz432, ywz433, ywz434, Right(ywz500), h, ba, bb)
new_splitLT12(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, True, bf, bg, bh) → new_splitLT0(ywz37, ywz38, bf, bg, bh)
new_splitLT22(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, False, bf, bg, bh) → new_splitLT12(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, new_esEs8(new_compare18(Right(ywz38), Right(ywz33), bf, bg), GT), bf, bg, bh)

The TRS R consists of the following rules:

new_compare24(Right(ywz500), Left(ywz400), False, h, ba) → GT
new_esEs8(LT, LT) → True
new_esEs8(GT, LT) → False
new_esEs8(EQ, LT) → False
new_compare18(ywz50, ywz40, h, ba) → new_compare24(ywz50, ywz40, new_esEs7(ywz50, ywz40, h, ba), h, ba)
new_esEs8(GT, GT) → True
new_esEs8(LT, GT) → False
new_esEs8(EQ, GT) → False
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Integer, ca) → new_esEs14(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Right(ywz4000), de, ca) → False
new_esEs7(Right(ywz5000), Left(ywz4000), de, ca) → False
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(ty_@2, ea), eb)) → new_esEs5(ywz5000, ywz4000, ea, eb)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Int, ca) → new_esEs11(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_@2, ce), cf), ca) → new_esEs5(ywz5000, ywz4000, ce, cf)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Ordering, ca) → new_esEs8(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(app(ty_@3, ee), ef), eg)) → new_esEs6(ywz5000, ywz4000, ee, ef, eg)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_Ratio, dh)) → new_esEs13(ywz5000, ywz4000, dh)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Ratio, cd), ca) → new_esEs13(ywz5000, ywz4000, cd)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_[], df)) → new_esEs12(ywz5000, ywz4000, df)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_[], cb), ca) → new_esEs12(ywz5000, ywz4000, cb)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Double, ca) → new_esEs16(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Float, ca) → new_esEs18(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, db), dc), dd), ca) → new_esEs6(ywz5000, ywz4000, db, dc, dd)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Bool, ca) → new_esEs17(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_@0, ca) → new_esEs19(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Char, ca) → new_esEs15(ywz5000, ywz4000)
new_compare24(Left(ywz500), Left(ywz400), False, h, ba) → new_compare14(ywz500, ywz400, new_ltEs19(ywz500, ywz400, h), h, ba)
new_compare24(Left(ywz500), Right(ywz400), False, h, ba) → LT
new_compare24(ywz50, ywz40, True, h, ba) → EQ
new_compare24(Right(ywz500), Right(ywz400), False, h, ba) → new_compare12(ywz500, ywz400, new_ltEs20(ywz500, ywz400, ba), h, ba)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cg), da), ca) → new_esEs7(ywz5000, ywz4000, cg, da)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhh), caa)) → new_esEs7(ywz5000, ywz4000, bhh, caa)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bhd)) → new_esEs4(ywz5000, ywz4000, bhd)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(ty_Either, ec), ed)) → new_esEs7(ywz5000, ywz4000, ec, ed)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Maybe, cc), ca) → new_esEs4(ywz5000, ywz4000, cc)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_Maybe, dg)) → new_esEs4(ywz5000, ywz4000, dg)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs4(Nothing, Just(ywz4000), bfe) → False
new_esEs4(Just(ywz5000), Nothing, bfe) → False
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cab), cac), cad)) → new_esEs6(ywz5000, ywz4000, cab, cac, cad)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_[], bhc)) → new_esEs12(ywz5000, ywz4000, bhc)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bhf), bhg)) → new_esEs5(ywz5000, ywz4000, bhf, bhg)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs4(Nothing, Nothing, bfe) → True
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhe)) → new_esEs13(ywz5000, ywz4000, bhe)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs15(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_esEs19(@0, @0) → True
new_esEs11(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs16(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_sr(ywz5000, ywz4000) → new_primMulInt(ywz5000, ywz4000)
new_primMulInt(Pos(ywz50000), Pos(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Neg(ywz50000), Neg(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Pos(ywz50000), Neg(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Neg(ywz50000), Pos(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(ywz500000), Succ(ywz400000)) → new_primPlusNat1(new_primMulNat0(ywz500000, Succ(ywz400000)), ywz400000)
new_primMulNat0(Succ(ywz500000), Zero) → Zero
new_primMulNat0(Zero, Succ(ywz400000)) → Zero
new_primPlusNat1(Zero, ywz400000) → Succ(ywz400000)
new_primPlusNat1(Succ(ywz2480), ywz400000) → Succ(Succ(new_primPlusNat0(ywz2480, ywz400000)))
new_primPlusNat0(Zero, Succ(ywz4000000)) → Succ(ywz4000000)
new_primPlusNat0(Succ(ywz24800), Zero) → Succ(ywz24800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(ywz24800), Succ(ywz4000000)) → Succ(Succ(new_primPlusNat0(ywz24800, ywz4000000)))
new_esEs13(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), bff) → new_asAs(new_esEs24(ywz5000, ywz4000, bff), new_esEs23(ywz5001, ywz4001, bff))
new_esEs24(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs24(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs23(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs23(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_asAs(False, ywz142) → False
new_asAs(True, ywz142) → ywz142
new_esEs14(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_esEs18(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs5(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcg, bch) → new_asAs(new_esEs22(ywz5000, ywz4000, bcg), new_esEs21(ywz5001, ywz4001, bch))
new_esEs22(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_esEs5(ywz5000, ywz4000, bef, beg)
new_esEs22(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_esEs7(ywz5000, ywz4000, beh, bfa)
new_esEs22(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs22(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_esEs4(ywz5000, ywz4000, bed)
new_esEs22(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_esEs13(ywz5000, ywz4000, bee)
new_esEs22(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(ty_[], bec)) → new_esEs12(ywz5000, ywz4000, bec)
new_esEs22(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bdc)) → new_esEs13(ywz5001, ywz4001, bdc)
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bdd), bde)) → new_esEs5(ywz5001, ywz4001, bdd, bde)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_[], bda)) → new_esEs12(ywz5001, ywz4001, bda)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bdf), bdg)) → new_esEs7(ywz5001, ywz4001, bdf, bdg)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bdb)) → new_esEs4(ywz5001, ywz4001, bdb)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bdh), bea), beb)) → new_esEs6(ywz5001, ywz4001, bdh, bea, beb)
new_esEs6(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), eh, fa, fb) → new_asAs(new_esEs27(ywz5000, ywz4000, eh), new_asAs(new_esEs26(ywz5001, ywz4001, fa), new_esEs25(ywz5002, ywz4002, fb)))
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_esEs7(ywz5000, ywz4000, ga, gb)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_esEs13(ywz5000, ywz4000, ff)
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_esEs6(ywz5000, ywz4000, gc, gd, ge)
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_esEs5(ywz5000, ywz4000, fg, fh)
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_esEs4(ywz5000, ywz4000, fd)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_[], fc)) → new_esEs12(ywz5000, ywz4000, fc)
new_esEs26(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_esEs4(ywz5001, ywz4001, gg)
new_esEs26(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_esEs13(ywz5001, ywz4001, gh)
new_esEs26(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_esEs6(ywz5001, ywz4001, he, hf, hg)
new_esEs26(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_esEs7(ywz5001, ywz4001, hc, hd)
new_esEs26(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_esEs5(ywz5001, ywz4001, ha, hb)
new_esEs26(ywz5001, ywz4001, app(ty_[], gf)) → new_esEs12(ywz5001, ywz4001, gf)
new_esEs26(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, ty_Bool) → new_esEs17(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Double) → new_esEs16(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Ordering) → new_esEs8(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(ty_Ratio, bab)) → new_esEs13(ywz5002, ywz4002, bab)
new_esEs25(ywz5002, ywz4002, app(ty_[], hh)) → new_esEs12(ywz5002, ywz4002, hh)
new_esEs25(ywz5002, ywz4002, app(ty_Maybe, baa)) → new_esEs4(ywz5002, ywz4002, baa)
new_esEs25(ywz5002, ywz4002, ty_@0) → new_esEs19(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Float) → new_esEs18(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Integer) → new_esEs14(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(app(app(ty_@3, bag), bah), bba)) → new_esEs6(ywz5002, ywz4002, bag, bah, bba)
new_esEs25(ywz5002, ywz4002, ty_Char) → new_esEs15(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(app(ty_@2, bac), bad)) → new_esEs5(ywz5002, ywz4002, bac, bad)
new_esEs25(ywz5002, ywz4002, ty_Int) → new_esEs11(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(app(ty_Either, bae), baf)) → new_esEs7(ywz5002, ywz4002, bae, baf)
new_esEs12(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bbd) → new_asAs(new_esEs20(ywz5000, ywz4000, bbd), new_esEs12(ywz5001, ywz4001, bbd))
new_esEs12([], [], bbd) → True
new_esEs12(:(ywz5000, ywz5001), [], bbd) → False
new_esEs12([], :(ywz4000, ywz4001), bbd) → False
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bbf)) → new_esEs4(ywz5000, ywz4000, bbf)
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bbg)) → new_esEs13(ywz5000, ywz4000, bbg)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, bbh), bca)) → new_esEs5(ywz5000, ywz4000, bbh, bca)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bcd), bce), bcf)) → new_esEs6(ywz5000, ywz4000, bcd, bce, bcf)
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_[], bbe)) → new_esEs12(ywz5000, ywz4000, bbe)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, bcb), bcc)) → new_esEs7(ywz5000, ywz4000, bcb, bcc)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs8(EQ, EQ) → True
new_esEs8(LT, EQ) → False
new_esEs8(GT, EQ) → False
new_esEs17(True, True) → True
new_esEs17(False, False) → True
new_esEs17(False, True) → False
new_esEs17(True, False) → False
new_ltEs20(ywz500, ywz400, app(ty_Ratio, bga)) → new_ltEs9(ywz500, ywz400, bga)
new_ltEs20(ywz500, ywz400, app(ty_[], bfg)) → new_ltEs7(ywz500, ywz400, bfg)
new_ltEs20(ywz500, ywz400, app(ty_Maybe, bfh)) → new_ltEs8(ywz500, ywz400, bfh)
new_ltEs20(ywz500, ywz400, app(app(ty_Either, bgd), bge)) → new_ltEs4(ywz500, ywz400, bgd, bge)
new_ltEs20(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, app(app(app(ty_@3, bgf), bgg), bgh)) → new_ltEs17(ywz500, ywz400, bgf, bgg, bgh)
new_ltEs20(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, app(app(ty_@2, bgb), bgc)) → new_ltEs10(ywz500, ywz400, bgb, bgc)
new_compare12(ywz154, ywz155, False, bbb, bbc) → GT
new_compare12(ywz154, ywz155, True, bbb, bbc) → LT
new_ltEs10(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcg, bch) → new_pePe(new_lt20(ywz5000, ywz4000, bcg), new_asAs(new_esEs28(ywz5000, ywz4000, bcg), new_ltEs21(ywz5001, ywz4001, bch)))
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(ty_[], bec)) → new_lt9(ywz5000, ywz4000, bec)
new_lt20(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_lt11(ywz5000, ywz4000, bee)
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_lt16(ywz5000, ywz4000, beh, bfa)
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_lt12(ywz5000, ywz4000, bef, beg)
new_lt20(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_lt10(ywz5000, ywz4000, bed)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_lt19(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs28(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_esEs4(ywz5000, ywz4000, bed)
new_esEs28(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_esEs7(ywz5000, ywz4000, beh, bfa)
new_esEs28(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_esEs5(ywz5000, ywz4000, bef, beg)
new_esEs28(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs28(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_esEs13(ywz5000, ywz4000, bee)
new_esEs28(ywz5000, ywz4000, app(ty_[], bec)) → new_esEs12(ywz5000, ywz4000, bec)
new_esEs28(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, app(app(app(ty_@3, bdh), bea), beb)) → new_ltEs17(ywz5001, ywz4001, bdh, bea, beb)
new_ltEs21(ywz5001, ywz4001, ty_Int) → new_ltEs5(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Double) → new_ltEs13(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, app(ty_[], bda)) → new_ltEs7(ywz5001, ywz4001, bda)
new_ltEs21(ywz5001, ywz4001, app(app(ty_Either, bdf), bdg)) → new_ltEs4(ywz5001, ywz4001, bdf, bdg)
new_ltEs21(ywz5001, ywz4001, ty_Char) → new_ltEs12(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, app(ty_Ratio, bdc)) → new_ltEs9(ywz5001, ywz4001, bdc)
new_ltEs21(ywz5001, ywz4001, app(ty_Maybe, bdb)) → new_ltEs8(ywz5001, ywz4001, bdb)
new_ltEs21(ywz5001, ywz4001, ty_@0) → new_ltEs16(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Integer) → new_ltEs11(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Bool) → new_ltEs14(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, app(app(ty_@2, bdd), bde)) → new_ltEs10(ywz5001, ywz4001, bdd, bde)
new_ltEs21(ywz5001, ywz4001, ty_Ordering) → new_ltEs6(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Float) → new_ltEs15(ywz5001, ywz4001)
new_pePe(False, ywz225) → ywz225
new_pePe(True, ywz225) → True
new_ltEs15(ywz500, ywz400) → new_not(new_esEs8(new_compare10(ywz500, ywz400), GT))
new_compare10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_not(False) → True
new_not(True) → False
new_compare8(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat1(ywz50000, ywz4000)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat2(ywz4000, ywz50000)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat2(Zero, ywz40000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat1(ywz40000, Zero)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_primCmpNat1(ywz50000, Zero) → GT
new_primCmpNat2(Zero, ywz50000) → LT
new_primCmpNat2(Succ(ywz40000), ywz50000) → new_primCmpNat0(ywz40000, ywz50000)
new_primCmpNat0(Zero, Succ(ywz400000)) → LT
new_primCmpNat0(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat0(ywz500000, ywz400000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(ywz500000), Zero) → GT
new_primCmpNat1(ywz50000, Succ(ywz40000)) → new_primCmpNat0(ywz50000, ywz40000)
new_ltEs6(GT, EQ) → False
new_ltEs6(EQ, GT) → True
new_ltEs6(EQ, EQ) → True
new_ltEs6(GT, GT) → True
new_ltEs6(LT, LT) → True
new_ltEs6(EQ, LT) → False
new_ltEs6(LT, GT) → True
new_ltEs6(LT, EQ) → True
new_ltEs6(GT, LT) → False
new_ltEs14(False, True) → True
new_ltEs14(False, False) → True
new_ltEs14(True, True) → True
new_ltEs14(True, False) → False
new_ltEs11(ywz500, ywz400) → new_not(new_esEs8(new_compare9(ywz500, ywz400), GT))
new_compare9(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_ltEs16(ywz500, ywz400) → new_not(new_esEs8(new_compare28(ywz500, ywz400), GT))
new_compare28(@0, @0) → EQ
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhe)) → new_ltEs9(ywz5000, ywz4000, bhe)
new_ltEs8(Nothing, Just(ywz4000), bfe) → True
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_[], bhc)) → new_ltEs7(ywz5000, ywz4000, bhc)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cab), cac), cad)) → new_ltEs17(ywz5000, ywz4000, cab, cac, cad)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Nothing, bfe) → False
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, cc), ca) → new_ltEs8(ywz5000, ywz4000, cc)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bhd)) → new_ltEs8(ywz5000, ywz4000, bhd)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(ty_Either, ec), ed)) → new_ltEs4(ywz5000, ywz4000, ec, ed)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cg), da), ca) → new_ltEs4(ywz5000, ywz4000, cg, da)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_Maybe, dg)) → new_ltEs8(ywz5000, ywz4000, dg)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhh), caa)) → new_ltEs4(ywz5000, ywz4000, bhh, caa)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_ltEs8(Nothing, Nothing, bfe) → True
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bhf), bhg)) → new_ltEs10(ywz5000, ywz4000, bhf, bhg)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_ltEs12(ywz500, ywz400) → new_not(new_esEs8(new_compare5(ywz500, ywz400), GT))
new_compare5(Char(ywz5000), Char(ywz4000)) → new_primCmpNat0(ywz5000, ywz4000)
new_ltEs5(ywz500, ywz400) → new_not(new_esEs8(new_compare8(ywz500, ywz400), GT))
new_ltEs13(ywz500, ywz400) → new_not(new_esEs8(new_compare15(ywz500, ywz400), GT))
new_compare15(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Int, ca) → new_ltEs5(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Double, ca) → new_ltEs13(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, ce), cf), ca) → new_ltEs10(ywz5000, ywz4000, ce, cf)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Char, ca) → new_ltEs12(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, db), dc), dd), ca) → new_ltEs17(ywz5000, ywz4000, db, dc, dd)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, ca) → new_ltEs6(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Right(ywz4000), de, ca) → True
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Bool, ca) → new_ltEs14(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, cd), ca) → new_ltEs9(ywz5000, ywz4000, cd)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_@0, ca) → new_ltEs16(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(app(ty_@3, ee), ef), eg)) → new_ltEs17(ywz5000, ywz4000, ee, ef, eg)
new_ltEs4(Right(ywz5000), Left(ywz4000), de, ca) → False
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_Ratio, dh)) → new_ltEs9(ywz5000, ywz4000, dh)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(ty_@2, ea), eb)) → new_ltEs10(ywz5000, ywz4000, ea, eb)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Float, ca) → new_ltEs15(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_[], cb), ca) → new_ltEs7(ywz5000, ywz4000, cb)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_[], df)) → new_ltEs7(ywz5000, ywz4000, df)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Integer, ca) → new_ltEs11(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, bbd) → new_not(new_esEs8(new_compare0(ywz500, ywz400, bbd), GT))
new_compare0([], [], bbd) → EQ
new_compare0(:(ywz5000, ywz5001), [], bbd) → GT
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bbd) → new_primCompAux1(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, bbd), bbd)
new_compare0([], :(ywz4000, ywz4001), bbd) → LT
new_primCompAux1(ywz5000, ywz4000, ywz290, bbd) → new_primCompAux0(ywz290, new_compare31(ywz5000, ywz4000, bbd))
new_compare31(ywz5000, ywz4000, ty_Double) → new_compare15(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Int) → new_compare8(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Ordering) → new_compare16(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(app(ty_Either, bcb), bcc)) → new_compare18(ywz5000, ywz4000, bcb, bcc)
new_compare31(ywz5000, ywz4000, ty_@0) → new_compare28(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_Maybe, bbf)) → new_compare32(ywz5000, ywz4000, bbf)
new_compare31(ywz5000, ywz4000, app(app(app(ty_@3, bcd), bce), bcf)) → new_compare17(ywz5000, ywz4000, bcd, bce, bcf)
new_compare31(ywz5000, ywz4000, ty_Bool) → new_compare6(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(app(ty_@2, bbh), bca)) → new_compare30(ywz5000, ywz4000, bbh, bca)
new_compare31(ywz5000, ywz4000, ty_Integer) → new_compare9(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_Ratio, bbg)) → new_compare7(ywz5000, ywz4000, bbg)
new_compare31(ywz5000, ywz4000, ty_Char) → new_compare5(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_[], bbe)) → new_compare0(ywz5000, ywz4000, bbe)
new_compare31(ywz5000, ywz4000, ty_Float) → new_compare10(ywz5000, ywz4000)
new_primCompAux0(ywz333, GT) → GT
new_primCompAux0(ywz333, LT) → LT
new_primCompAux0(ywz333, EQ) → ywz333
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare8(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare9(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_sr0(Integer(ywz50000), Integer(ywz40010)) → Integer(new_primMulInt(ywz50000, ywz40010))
new_compare30(ywz5000, ywz4000, bef, beg) → new_compare27(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bef, beg), bef, beg)
new_compare27(ywz5000, ywz4000, True, bef, beg) → EQ
new_compare27(ywz5000, ywz4000, False, bef, beg) → new_compare19(ywz5000, ywz4000, new_ltEs10(ywz5000, ywz4000, bef, beg), bef, beg)
new_compare19(ywz5000, ywz4000, True, bef, beg) → LT
new_compare19(ywz5000, ywz4000, False, bef, beg) → GT
new_compare6(ywz5000, ywz4000) → new_compare25(ywz5000, ywz4000, new_esEs17(ywz5000, ywz4000))
new_compare25(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs14(ywz5000, ywz4000))
new_compare25(ywz5000, ywz4000, True) → EQ
new_compare11(ywz5000, ywz4000, False) → GT
new_compare11(ywz5000, ywz4000, True) → LT
new_compare17(ywz5000, ywz4000, bfb, bfc, bfd) → new_compare210(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd), bfb, bfc, bfd)
new_compare210(ywz5000, ywz4000, True, bfb, bfc, bfd) → EQ
new_compare210(ywz5000, ywz4000, False, bfb, bfc, bfd) → new_compare111(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000, bfb, bfc, bfd), bfb, bfc, bfd)
new_ltEs17(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), eh, fa, fb) → new_pePe(new_lt5(ywz5000, ywz4000, eh), new_asAs(new_esEs10(ywz5000, ywz4000, eh), new_pePe(new_lt6(ywz5001, ywz4001, fa), new_asAs(new_esEs9(ywz5001, ywz4001, fa), new_ltEs18(ywz5002, ywz4002, fb)))))
new_compare111(ywz5000, ywz4000, True, bfb, bfc, bfd) → LT
new_compare111(ywz5000, ywz4000, False, bfb, bfc, bfd) → GT
new_lt5(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_lt19(ywz5000, ywz4000, gc, gd, ge)
new_lt5(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_lt16(ywz5000, ywz4000, ga, gb)
new_lt5(ywz5000, ywz4000, app(ty_[], fc)) → new_lt9(ywz5000, ywz4000, fc)
new_lt5(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_lt11(ywz5000, ywz4000, ff)
new_lt5(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_lt12(ywz5000, ywz4000, fg, fh)
new_lt5(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_lt10(ywz5000, ywz4000, fd)
new_lt5(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(ty_[], fc)) → new_esEs12(ywz5000, ywz4000, fc)
new_esEs10(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_esEs7(ywz5000, ywz4000, ga, gb)
new_esEs10(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_esEs5(ywz5000, ywz4000, fg, fh)
new_esEs10(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_esEs6(ywz5000, ywz4000, gc, gd, ge)
new_esEs10(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_esEs13(ywz5000, ywz4000, ff)
new_esEs10(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_esEs4(ywz5000, ywz4000, fd)
new_esEs10(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, ty_Bool) → new_lt4(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, ty_Char) → new_lt14(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, ty_Ordering) → new_lt8(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_lt11(ywz5001, ywz4001, gh)
new_lt6(ywz5001, ywz4001, ty_Float) → new_lt17(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, ty_Double) → new_lt15(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(ty_[], gf)) → new_lt9(ywz5001, ywz4001, gf)
new_lt6(ywz5001, ywz4001, ty_Integer) → new_lt13(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_lt19(ywz5001, ywz4001, he, hf, hg)
new_lt6(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_lt10(ywz5001, ywz4001, gg)
new_lt6(ywz5001, ywz4001, ty_Int) → new_lt7(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_lt16(ywz5001, ywz4001, hc, hd)
new_lt6(ywz5001, ywz4001, ty_@0) → new_lt18(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_lt12(ywz5001, ywz4001, ha, hb)
new_esEs9(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(ty_[], gf)) → new_esEs12(ywz5001, ywz4001, gf)
new_esEs9(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_esEs13(ywz5001, ywz4001, gh)
new_esEs9(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_esEs5(ywz5001, ywz4001, ha, hb)
new_esEs9(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_esEs4(ywz5001, ywz4001, gg)
new_esEs9(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_esEs6(ywz5001, ywz4001, he, hf, hg)
new_esEs9(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_esEs7(ywz5001, ywz4001, hc, hd)
new_ltEs18(ywz5002, ywz4002, ty_Float) → new_ltEs15(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(ty_Ratio, bab)) → new_ltEs9(ywz5002, ywz4002, bab)
new_ltEs18(ywz5002, ywz4002, app(ty_[], hh)) → new_ltEs7(ywz5002, ywz4002, hh)
new_ltEs18(ywz5002, ywz4002, ty_Double) → new_ltEs13(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Int) → new_ltEs5(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Ordering) → new_ltEs6(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(app(ty_@2, bac), bad)) → new_ltEs10(ywz5002, ywz4002, bac, bad)
new_ltEs18(ywz5002, ywz4002, ty_@0) → new_ltEs16(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Integer) → new_ltEs11(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(app(ty_Either, bae), baf)) → new_ltEs4(ywz5002, ywz4002, bae, baf)
new_ltEs18(ywz5002, ywz4002, app(app(app(ty_@3, bag), bah), bba)) → new_ltEs17(ywz5002, ywz4002, bag, bah, bba)
new_ltEs18(ywz5002, ywz4002, ty_Bool) → new_ltEs14(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Char) → new_ltEs12(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(ty_Maybe, baa)) → new_ltEs8(ywz5002, ywz4002, baa)
new_ltEs9(ywz500, ywz400, bff) → new_not(new_esEs8(new_compare7(ywz500, ywz400, bff), GT))
new_lt12(ywz5000, ywz4000, bef, beg) → new_esEs8(new_compare30(ywz5000, ywz4000, bef, beg), LT)
new_lt18(ywz5000, ywz4000) → new_esEs8(new_compare28(ywz5000, ywz4000), LT)
new_lt16(ywz50, ywz40, h, ba) → new_esEs8(new_compare18(ywz50, ywz40, h, ba), LT)
new_lt7(ywz5000, ywz4000) → new_esEs8(new_compare8(ywz5000, ywz4000), LT)
new_lt10(ywz5000, ywz4000, bed) → new_esEs8(new_compare32(ywz5000, ywz4000, bed), LT)
new_compare32(ywz5000, ywz4000, bed) → new_compare29(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, bed), bed)
new_compare29(ywz5000, ywz4000, False, bed) → new_compare110(ywz5000, ywz4000, new_ltEs8(ywz5000, ywz4000, bed), bed)
new_compare29(ywz5000, ywz4000, True, bed) → EQ
new_compare110(ywz5000, ywz4000, True, bed) → LT
new_compare110(ywz5000, ywz4000, False, bed) → GT
new_lt19(ywz5000, ywz4000, bfb, bfc, bfd) → new_esEs8(new_compare17(ywz5000, ywz4000, bfb, bfc, bfd), LT)
new_lt13(ywz5000, ywz4000) → new_esEs8(new_compare9(ywz5000, ywz4000), LT)
new_lt9(ywz5000, ywz4000, bec) → new_esEs8(new_compare0(ywz5000, ywz4000, bec), LT)
new_lt15(ywz5000, ywz4000) → new_esEs8(new_compare15(ywz5000, ywz4000), LT)
new_lt17(ywz5000, ywz4000) → new_esEs8(new_compare10(ywz5000, ywz4000), LT)
new_lt11(ywz5000, ywz4000, bee) → new_esEs8(new_compare7(ywz5000, ywz4000, bee), LT)
new_lt8(ywz5000, ywz4000) → new_esEs8(new_compare16(ywz5000, ywz4000), LT)
new_compare16(ywz5000, ywz4000) → new_compare26(ywz5000, ywz4000, new_esEs8(ywz5000, ywz4000))
new_compare26(ywz5000, ywz4000, False) → new_compare13(ywz5000, ywz4000, new_ltEs6(ywz5000, ywz4000))
new_compare26(ywz5000, ywz4000, True) → EQ
new_compare13(ywz5000, ywz4000, False) → GT
new_compare13(ywz5000, ywz4000, True) → LT
new_lt14(ywz5000, ywz4000) → new_esEs8(new_compare5(ywz5000, ywz4000), LT)
new_lt4(ywz5000, ywz4000) → new_esEs8(new_compare6(ywz5000, ywz4000), LT)
new_ltEs19(ywz500, ywz400, app(app(ty_Either, de), ca)) → new_ltEs4(ywz500, ywz400, de, ca)
new_ltEs19(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(app(ty_@2, bcg), bch)) → new_ltEs10(ywz500, ywz400, bcg, bch)
new_ltEs19(ywz500, ywz400, app(ty_Ratio, bff)) → new_ltEs9(ywz500, ywz400, bff)
new_ltEs19(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(ty_Maybe, bfe)) → new_ltEs8(ywz500, ywz400, bfe)
new_ltEs19(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(ty_[], bbd)) → new_ltEs7(ywz500, ywz400, bbd)
new_ltEs19(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(app(app(ty_@3, eh), fa), fb)) → new_ltEs17(ywz500, ywz400, eh, fa, fb)
new_ltEs19(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_compare14(ywz147, ywz148, False, bha, bhb) → GT
new_compare14(ywz147, ywz148, True, bha, bhb) → LT
new_esEs32(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_esEs32(ywz500, ywz400, app(ty_Maybe, bfh)) → new_esEs4(ywz500, ywz400, bfh)
new_esEs32(ywz500, ywz400, app(app(ty_Either, bgd), bge)) → new_esEs7(ywz500, ywz400, bgd, bge)
new_esEs32(ywz500, ywz400, ty_@0) → new_esEs19(ywz500, ywz400)
new_esEs32(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_esEs32(ywz500, ywz400, app(ty_[], bfg)) → new_esEs12(ywz500, ywz400, bfg)
new_esEs32(ywz500, ywz400, app(app(ty_@2, bgb), bgc)) → new_esEs5(ywz500, ywz400, bgb, bgc)
new_esEs32(ywz500, ywz400, ty_Bool) → new_esEs17(ywz500, ywz400)
new_esEs32(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_esEs32(ywz500, ywz400, ty_Float) → new_esEs18(ywz500, ywz400)
new_esEs32(ywz500, ywz400, ty_Int) → new_esEs11(ywz500, ywz400)
new_esEs32(ywz500, ywz400, app(ty_Ratio, bga)) → new_esEs13(ywz500, ywz400, bga)
new_esEs32(ywz500, ywz400, app(app(app(ty_@3, bgf), bgg), bgh)) → new_esEs6(ywz500, ywz400, bgf, bgg, bgh)
new_esEs32(ywz500, ywz400, ty_Double) → new_esEs16(ywz500, ywz400)

The set Q consists of the following terms:

new_esEs7(Left(x0), Left(x1), ty_Int, x2)
new_esEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs21(x0, x1, ty_Int)
new_compare24(Right(x0), Right(x1), False, x2, x3)
new_esEs18(Float(x0, x1), Float(x2, x3))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs16(x0, x1)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_primCmpNat1(x0, Succ(x1))
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(x0, x1, ty_Double)
new_lt6(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Double)
new_compare27(x0, x1, True, x2, x3)
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Int)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt9(x0, x1, x2)
new_esEs31(x0, x1, app(ty_[], x2))
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_ltEs21(x0, x1, ty_Ordering)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_primCompAux0(x0, EQ)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, ty_Bool)
new_esEs32(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Bool)
new_esEs31(x0, x1, ty_Bool)
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, ty_Ordering)
new_compare15(Double(x0, x1), Double(x2, x3))
new_esEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_lt6(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_primCmpNat0(Succ(x0), Zero)
new_esEs26(x0, x1, app(ty_[], x2))
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_esEs32(x0, x1, app(ty_Ratio, x2))
new_lt4(x0, x1)
new_ltEs21(x0, x1, ty_Double)
new_lt10(x0, x1, x2)
new_compare5(Char(x0), Char(x1))
new_ltEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs14(True, False)
new_ltEs14(False, True)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs20(x0, x1, ty_Ordering)
new_lt8(x0, x1)
new_esEs8(GT, GT)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(x0, x1, x2)
new_esEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs32(x0, x1, ty_Double)
new_lt20(x0, x1, app(ty_[], x2))
new_compare14(x0, x1, True, x2, x3)
new_compare30(x0, x1, x2, x3)
new_esEs26(x0, x1, ty_Int)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_Integer)
new_esEs7(Left(x0), Left(x1), ty_Integer, x2)
new_esEs8(LT, LT)
new_esEs26(x0, x1, ty_Float)
new_primPlusNat1(Zero, x0)
new_ltEs19(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_compare27(x0, x1, False, x2, x3)
new_lt20(x0, x1, ty_Int)
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs31(x0, x1, ty_@0)
new_compare0(:(x0, x1), [], x2)
new_ltEs19(x0, x1, ty_Float)
new_esEs17(False, False)
new_lt20(x0, x1, ty_Integer)
new_esEs7(Right(x0), Right(x1), x2, ty_Float)
new_esEs31(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Float)
new_lt5(x0, x1, ty_Int)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_compare210(x0, x1, True, x2, x3, x4)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Bool)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, ty_Bool)
new_ltEs6(EQ, EQ)
new_pePe(False, x0)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_compare12(x0, x1, False, x2, x3)
new_esEs7(Left(x0), Left(x1), ty_Char, x2)
new_esEs8(LT, GT)
new_esEs8(GT, LT)
new_ltEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_compare9(Integer(x0), Integer(x1))
new_pePe(True, x0)
new_esEs28(x0, x1, ty_Int)
new_esEs7(Left(x0), Left(x1), ty_Float, x2)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs4(Just(x0), Just(x1), ty_@0)
new_esEs4(Just(x0), Just(x1), ty_Int)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs6(LT, EQ)
new_ltEs20(x0, x1, ty_@0)
new_ltEs6(EQ, LT)
new_compare7(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_primEqNat0(Zero, Zero)
new_ltEs19(x0, x1, ty_Double)
new_esEs7(Right(x0), Right(x1), x2, ty_Int)
new_ltEs8(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs19(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Bool)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Char)
new_compare26(x0, x1, True)
new_esEs12(:(x0, x1), [], x2)
new_compare110(x0, x1, False, x2)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs4(Right(x0), Right(x1), x2, ty_Integer)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_ltEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_compare29(x0, x1, False, x2)
new_esEs4(Just(x0), Just(x1), app(ty_Ratio, x2))
new_lt6(x0, x1, app(ty_Maybe, x2))
new_compare28(@0, @0)
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs28(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Char)
new_primMulNat0(Zero, Zero)
new_esEs28(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, ty_@0)
new_ltEs21(x0, x1, ty_Float)
new_esEs9(x0, x1, ty_Integer)
new_ltEs10(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt20(x0, x1, ty_@0)
new_primCompAux1(x0, x1, x2, x3)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Double)
new_lt6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs19(x0, x1, ty_Int)
new_compare29(x0, x1, True, x2)
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs22(x0, x1, ty_@0)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_esEs31(x0, x1, ty_Integer)
new_ltEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs32(x0, x1, ty_Char)
new_esEs9(x0, x1, ty_Bool)
new_esEs4(Just(x0), Just(x1), ty_Float)
new_lt5(x0, x1, ty_@0)
new_esEs10(x0, x1, ty_Ordering)
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_esEs12([], :(x0, x1), x2)
new_ltEs8(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs7(Left(x0), Left(x1), ty_Double, x2)
new_esEs28(x0, x1, ty_Integer)
new_lt6(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Double)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs8(Nothing, Nothing, x0)
new_esEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs20(x0, x1, ty_@0)
new_esEs25(x0, x1, ty_Int)
new_ltEs20(x0, x1, ty_Int)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, ty_Char)
new_compare24(Left(x0), Right(x1), False, x2, x3)
new_compare24(Right(x0), Left(x1), False, x2, x3)
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs18(x0, x1, ty_Char)
new_esEs21(x0, x1, ty_Integer)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs32(x0, x1, ty_Integer)
new_asAs(False, x0)
new_esEs25(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, ty_Char)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_primMulNat0(Succ(x0), Succ(x1))
new_ltEs4(Right(x0), Right(x1), x2, ty_@0)
new_esEs22(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), ty_Double)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, ty_Ordering)
new_primCmpNat1(x0, Zero)
new_primCmpNat2(Zero, x0)
new_ltEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs11(x0, x1)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_primPlusNat0(Zero, Zero)
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_esEs31(x0, x1, ty_Ordering)
new_esEs12(:(x0, x1), :(x2, x3), x4)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Ordering)
new_lt6(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare13(x0, x1, True)
new_compare12(x0, x1, True, x2, x3)
new_lt6(x0, x1, ty_Float)
new_sr(x0, x1)
new_ltEs8(Just(x0), Just(x1), ty_Int)
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_compare14(x0, x1, False, x2, x3)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_compare7(:%(x0, x1), :%(x2, x3), ty_Int)
new_ltEs4(Left(x0), Left(x1), ty_Int, x2)
new_esEs32(x0, x1, ty_Float)
new_esEs4(Just(x0), Just(x1), ty_Ordering)
new_primMulNat0(Zero, Succ(x0))
new_esEs32(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_compare8(x0, x1)
new_lt12(x0, x1, x2, x3)
new_compare31(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Bool)
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs8(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, ty_Ordering)
new_esEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs5(x0, x1)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, ty_Double)
new_lt15(x0, x1)
new_ltEs20(x0, x1, ty_Ordering)
new_lt6(x0, x1, ty_Int)
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs8(Just(x0), Just(x1), ty_Bool)
new_ltEs4(Left(x0), Left(x1), ty_Integer, x2)
new_primPlusNat0(Succ(x0), Succ(x1))
new_esEs7(Right(x0), Right(x1), x2, ty_Double)
new_lt6(x0, x1, ty_Integer)
new_ltEs8(Just(x0), Just(x1), app(ty_[], x2))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs4(Right(x0), Right(x1), x2, ty_Float)
new_ltEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs4(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_ltEs8(Just(x0), Just(x1), ty_Double)
new_esEs4(Just(x0), Just(x1), app(ty_[], x2))
new_esEs14(Integer(x0), Integer(x1))
new_ltEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs25(x0, x1, ty_Float)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primMulNat0(Succ(x0), Zero)
new_esEs10(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Double)
new_esEs16(Double(x0, x1), Double(x2, x3))
new_compare24(x0, x1, True, x2, x3)
new_compare6(x0, x1)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_compare32(x0, x1, x2)
new_lt5(x0, x1, ty_Bool)
new_lt13(x0, x1)
new_primCompAux0(x0, LT)
new_lt18(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs8(EQ, EQ)
new_compare13(x0, x1, False)
new_primPlusNat0(Zero, Succ(x0))
new_ltEs8(Just(x0), Just(x1), ty_Ordering)
new_ltEs19(x0, x1, ty_Integer)
new_esEs4(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs10(x0, x1, ty_Float)
new_lt17(x0, x1)
new_esEs4(Nothing, Just(x0), x1)
new_esEs22(x0, x1, ty_Int)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_compare19(x0, x1, False, x2, x3)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Char)
new_esEs7(Right(x0), Right(x1), x2, ty_Bool)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_compare24(Left(x0), Left(x1), False, x2, x3)
new_esEs11(x0, x1)
new_lt5(x0, x1, ty_Integer)
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_sr0(Integer(x0), Integer(x1))
new_esEs31(x0, x1, ty_Double)
new_lt6(x0, x1, ty_Bool)
new_esEs9(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Double)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs32(x0, x1, app(ty_Maybe, x2))
new_ltEs12(x0, x1)
new_esEs22(x0, x1, ty_Bool)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, ty_Float)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Integer)
new_ltEs8(Nothing, Just(x0), x1)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs4(Nothing, Nothing, x0)
new_ltEs8(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs20(x0, x1, ty_Float)
new_ltEs4(Left(x0), Left(x1), ty_Float, x2)
new_compare18(x0, x1, x2, x3)
new_ltEs6(GT, GT)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_primMulInt(Neg(x0), Neg(x1))
new_lt5(x0, x1, app(ty_Maybe, x2))
new_esEs8(GT, EQ)
new_esEs8(EQ, GT)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, app(ty_Ratio, x2))
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_lt6(x0, x1, ty_Double)
new_lt6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_compare17(x0, x1, x2, x3, x4)
new_esEs24(x0, x1, ty_Integer)
new_primCmpNat0(Zero, Zero)
new_esEs32(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs10(x0, x1, ty_@0)
new_ltEs6(LT, LT)
new_esEs26(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_@0)
new_esEs28(x0, x1, ty_Ordering)
new_ltEs21(x0, x1, app(ty_[], x2))
new_ltEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs18(x0, x1, app(ty_[], x2))
new_compare111(x0, x1, False, x2, x3, x4)
new_esEs25(x0, x1, ty_Integer)
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_lt16(x0, x1, x2, x3)
new_primCmpNat0(Zero, Succ(x0))
new_ltEs9(x0, x1, x2)
new_esEs7(Right(x0), Right(x1), x2, ty_Integer)
new_esEs22(x0, x1, ty_Char)
new_compare31(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Char)
new_ltEs8(Just(x0), Just(x1), ty_@0)
new_primPlusNat0(Succ(x0), Zero)
new_esEs7(Right(x0), Right(x1), x2, ty_Char)
new_esEs31(x0, x1, ty_Float)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt19(x0, x1, x2, x3, x4)
new_ltEs4(Left(x0), Left(x1), ty_Char, x2)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs22(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_ltEs8(Just(x0), Just(x1), ty_Integer)
new_ltEs21(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Int)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs4(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_compare210(x0, x1, False, x2, x3, x4)
new_lt14(x0, x1)
new_compare25(x0, x1, True)
new_ltEs14(True, True)
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs14(False, False)
new_lt11(x0, x1, x2)
new_compare111(x0, x1, True, x2, x3, x4)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Double)
new_ltEs4(Right(x0), Right(x1), x2, ty_Int)
new_compare19(x0, x1, True, x2, x3)
new_esEs22(x0, x1, ty_Float)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_compare10(Float(x0, x1), Float(x2, x3))
new_esEs24(x0, x1, ty_Int)
new_esEs32(x0, x1, app(app(ty_@2, x2), x3))
new_esEs31(x0, x1, ty_Int)
new_not(True)
new_esEs32(x0, x1, ty_Bool)
new_ltEs8(Just(x0), Just(x1), ty_Float)
new_esEs27(x0, x1, ty_Char)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs21(x0, x1, ty_@0)
new_esEs21(x0, x1, ty_@0)
new_esEs7(Right(x0), Right(x1), x2, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_esEs4(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Double)
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_not(False)
new_compare31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs32(x0, x1, ty_Int)
new_compare31(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt6(x0, x1, ty_Char)
new_ltEs4(Left(x0), Right(x1), x2, x3)
new_lt6(x0, x1, app(ty_Ratio, x2))
new_ltEs4(Right(x0), Left(x1), x2, x3)
new_esEs4(Just(x0), Just(x1), ty_Integer)
new_esEs26(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_@0)
new_compare25(x0, x1, False)
new_esEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs6(EQ, GT)
new_ltEs6(GT, EQ)
new_esEs13(:%(x0, x1), :%(x2, x3), x4)
new_compare31(x0, x1, ty_Integer)
new_ltEs18(x0, x1, ty_Double)
new_esEs7(Left(x0), Left(x1), ty_@0, x2)
new_esEs9(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_@0)
new_ltEs8(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs13(x0, x1)
new_ltEs4(Left(x0), Left(x1), ty_Double, x2)
new_ltEs8(Just(x0), Just(x1), ty_Char)
new_esEs15(Char(x0), Char(x1))
new_compare16(x0, x1)
new_ltEs15(x0, x1)
new_esEs9(x0, x1, ty_Float)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_asAs(True, x0)
new_esEs8(EQ, LT)
new_esEs8(LT, EQ)
new_esEs7(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_compare0([], [], x0)
new_primCompAux0(x0, GT)
new_ltEs18(x0, x1, ty_Ordering)
new_esEs9(x0, x1, ty_Int)
new_lt7(x0, x1)
new_esEs32(x0, x1, ty_@0)
new_ltEs8(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs20(x0, x1, ty_Bool)
new_esEs20(x0, x1, ty_Float)
new_compare31(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_@0)
new_esEs12([], [], x0)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs17(False, True)
new_esEs17(True, False)
new_esEs25(x0, x1, ty_Char)
new_esEs7(Right(x0), Left(x1), x2, x3)
new_esEs7(Left(x0), Right(x1), x2, x3)
new_compare31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs17(True, True)
new_esEs23(x0, x1, ty_Int)
new_compare26(x0, x1, False)
new_esEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_primEqNat0(Zero, Succ(x0))
new_lt5(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpNat2(Succ(x0), x1)
new_esEs10(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_Bool)
new_esEs28(x0, x1, ty_@0)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare0([], :(x0, x1), x2)
new_esEs19(@0, @0)
new_compare11(x0, x1, False)
new_esEs20(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_Int)
new_compare110(x0, x1, True, x2)
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_esEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_compare11(x0, x1, True)
new_ltEs4(Right(x0), Right(x1), x2, ty_Char)
new_primPlusNat1(Succ(x0), x1)
new_esEs9(x0, x1, ty_@0)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs31(x0, x1, app(ty_[], x2))
new_esEs31(x0, x1, ty_Bool)
new_esEs31(x0, x1, ty_@0)
new_esEs31(x0, x1, ty_Char)
new_esEs31(x0, x1, ty_Integer)
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_esEs31(x0, x1, ty_Ordering)
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_esEs31(x0, x1, ty_Double)
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs31(x0, x1, ty_Float)
new_esEs31(x0, x1, ty_Int)
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ AND
                                        ↳ QDP
                                          ↳ UsableRulesProof
                                            ↳ QDP
                                              ↳ QReductionProof
QDP
                                                  ↳ QDPSizeChangeProof
                                        ↳ QDP
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_splitLT21(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba, bb) → new_splitLT11(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare18(Right(ywz500), Left(ywz400), h, ba), GT), h, ba, bb)
new_splitLT22(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, True, bf, bg, bh) → new_splitLT0(ywz36, ywz38, bf, bg, bh)
new_splitLT11(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba, bb) → new_splitLT0(ywz44, ywz500, h, ba, bb)
new_splitLT3(Left(ywz400), ywz41, ywz42, ywz43, ywz44, Right(ywz500), h, ba, bb) → new_splitLT21(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Right(ywz500), Left(ywz400), False, h, ba), LT), h, ba, bb)
new_splitLT3(Right(ywz400), ywz41, ywz42, ywz43, ywz44, Right(ywz500), h, ba, bb) → new_splitLT22(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Right(ywz500), Right(ywz400), new_esEs32(ywz500, ywz400, ba), h, ba), LT), h, ba, bb)
new_splitLT21(ywz400, ywz41, ywz42, Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz44, ywz500, True, h, ba, bb) → new_splitLT3(ywz430, ywz431, ywz432, ywz433, ywz434, Right(ywz500), h, ba, bb)
new_splitLT0(Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz500, h, ba, bb) → new_splitLT3(ywz430, ywz431, ywz432, ywz433, ywz434, Right(ywz500), h, ba, bb)
new_splitLT12(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, True, bf, bg, bh) → new_splitLT0(ywz37, ywz38, bf, bg, bh)
new_splitLT22(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, False, bf, bg, bh) → new_splitLT12(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, new_esEs8(new_compare18(Right(ywz38), Right(ywz33), bf, bg), GT), bf, bg, bh)

The TRS R consists of the following rules:

new_compare24(Right(ywz500), Left(ywz400), False, h, ba) → GT
new_esEs8(LT, LT) → True
new_esEs8(GT, LT) → False
new_esEs8(EQ, LT) → False
new_compare18(ywz50, ywz40, h, ba) → new_compare24(ywz50, ywz40, new_esEs7(ywz50, ywz40, h, ba), h, ba)
new_esEs8(GT, GT) → True
new_esEs8(LT, GT) → False
new_esEs8(EQ, GT) → False
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Integer, ca) → new_esEs14(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Right(ywz4000), de, ca) → False
new_esEs7(Right(ywz5000), Left(ywz4000), de, ca) → False
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(ty_@2, ea), eb)) → new_esEs5(ywz5000, ywz4000, ea, eb)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Int, ca) → new_esEs11(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_@2, ce), cf), ca) → new_esEs5(ywz5000, ywz4000, ce, cf)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Ordering, ca) → new_esEs8(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(app(ty_@3, ee), ef), eg)) → new_esEs6(ywz5000, ywz4000, ee, ef, eg)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_Ratio, dh)) → new_esEs13(ywz5000, ywz4000, dh)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Ratio, cd), ca) → new_esEs13(ywz5000, ywz4000, cd)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_[], df)) → new_esEs12(ywz5000, ywz4000, df)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_[], cb), ca) → new_esEs12(ywz5000, ywz4000, cb)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Double, ca) → new_esEs16(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Float, ca) → new_esEs18(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, db), dc), dd), ca) → new_esEs6(ywz5000, ywz4000, db, dc, dd)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Bool, ca) → new_esEs17(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_@0, ca) → new_esEs19(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Char, ca) → new_esEs15(ywz5000, ywz4000)
new_compare24(Left(ywz500), Left(ywz400), False, h, ba) → new_compare14(ywz500, ywz400, new_ltEs19(ywz500, ywz400, h), h, ba)
new_compare24(Left(ywz500), Right(ywz400), False, h, ba) → LT
new_compare24(ywz50, ywz40, True, h, ba) → EQ
new_compare24(Right(ywz500), Right(ywz400), False, h, ba) → new_compare12(ywz500, ywz400, new_ltEs20(ywz500, ywz400, ba), h, ba)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cg), da), ca) → new_esEs7(ywz5000, ywz4000, cg, da)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhh), caa)) → new_esEs7(ywz5000, ywz4000, bhh, caa)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bhd)) → new_esEs4(ywz5000, ywz4000, bhd)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(ty_Either, ec), ed)) → new_esEs7(ywz5000, ywz4000, ec, ed)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Maybe, cc), ca) → new_esEs4(ywz5000, ywz4000, cc)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_Maybe, dg)) → new_esEs4(ywz5000, ywz4000, dg)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs4(Nothing, Just(ywz4000), bfe) → False
new_esEs4(Just(ywz5000), Nothing, bfe) → False
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cab), cac), cad)) → new_esEs6(ywz5000, ywz4000, cab, cac, cad)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_[], bhc)) → new_esEs12(ywz5000, ywz4000, bhc)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bhf), bhg)) → new_esEs5(ywz5000, ywz4000, bhf, bhg)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs4(Nothing, Nothing, bfe) → True
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhe)) → new_esEs13(ywz5000, ywz4000, bhe)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs15(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_esEs19(@0, @0) → True
new_esEs11(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs16(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_sr(ywz5000, ywz4000) → new_primMulInt(ywz5000, ywz4000)
new_primMulInt(Pos(ywz50000), Pos(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Neg(ywz50000), Neg(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Pos(ywz50000), Neg(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Neg(ywz50000), Pos(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(ywz500000), Succ(ywz400000)) → new_primPlusNat1(new_primMulNat0(ywz500000, Succ(ywz400000)), ywz400000)
new_primMulNat0(Succ(ywz500000), Zero) → Zero
new_primMulNat0(Zero, Succ(ywz400000)) → Zero
new_primPlusNat1(Zero, ywz400000) → Succ(ywz400000)
new_primPlusNat1(Succ(ywz2480), ywz400000) → Succ(Succ(new_primPlusNat0(ywz2480, ywz400000)))
new_primPlusNat0(Zero, Succ(ywz4000000)) → Succ(ywz4000000)
new_primPlusNat0(Succ(ywz24800), Zero) → Succ(ywz24800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(ywz24800), Succ(ywz4000000)) → Succ(Succ(new_primPlusNat0(ywz24800, ywz4000000)))
new_esEs13(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), bff) → new_asAs(new_esEs24(ywz5000, ywz4000, bff), new_esEs23(ywz5001, ywz4001, bff))
new_esEs24(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs24(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs23(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs23(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_asAs(False, ywz142) → False
new_asAs(True, ywz142) → ywz142
new_esEs14(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_esEs18(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs5(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcg, bch) → new_asAs(new_esEs22(ywz5000, ywz4000, bcg), new_esEs21(ywz5001, ywz4001, bch))
new_esEs22(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_esEs5(ywz5000, ywz4000, bef, beg)
new_esEs22(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_esEs7(ywz5000, ywz4000, beh, bfa)
new_esEs22(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs22(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_esEs4(ywz5000, ywz4000, bed)
new_esEs22(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_esEs13(ywz5000, ywz4000, bee)
new_esEs22(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(ty_[], bec)) → new_esEs12(ywz5000, ywz4000, bec)
new_esEs22(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bdc)) → new_esEs13(ywz5001, ywz4001, bdc)
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bdd), bde)) → new_esEs5(ywz5001, ywz4001, bdd, bde)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_[], bda)) → new_esEs12(ywz5001, ywz4001, bda)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bdf), bdg)) → new_esEs7(ywz5001, ywz4001, bdf, bdg)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bdb)) → new_esEs4(ywz5001, ywz4001, bdb)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bdh), bea), beb)) → new_esEs6(ywz5001, ywz4001, bdh, bea, beb)
new_esEs6(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), eh, fa, fb) → new_asAs(new_esEs27(ywz5000, ywz4000, eh), new_asAs(new_esEs26(ywz5001, ywz4001, fa), new_esEs25(ywz5002, ywz4002, fb)))
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_esEs7(ywz5000, ywz4000, ga, gb)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_esEs13(ywz5000, ywz4000, ff)
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_esEs6(ywz5000, ywz4000, gc, gd, ge)
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_esEs5(ywz5000, ywz4000, fg, fh)
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_esEs4(ywz5000, ywz4000, fd)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_[], fc)) → new_esEs12(ywz5000, ywz4000, fc)
new_esEs26(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_esEs4(ywz5001, ywz4001, gg)
new_esEs26(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_esEs13(ywz5001, ywz4001, gh)
new_esEs26(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_esEs6(ywz5001, ywz4001, he, hf, hg)
new_esEs26(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_esEs7(ywz5001, ywz4001, hc, hd)
new_esEs26(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_esEs5(ywz5001, ywz4001, ha, hb)
new_esEs26(ywz5001, ywz4001, app(ty_[], gf)) → new_esEs12(ywz5001, ywz4001, gf)
new_esEs26(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, ty_Bool) → new_esEs17(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Double) → new_esEs16(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Ordering) → new_esEs8(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(ty_Ratio, bab)) → new_esEs13(ywz5002, ywz4002, bab)
new_esEs25(ywz5002, ywz4002, app(ty_[], hh)) → new_esEs12(ywz5002, ywz4002, hh)
new_esEs25(ywz5002, ywz4002, app(ty_Maybe, baa)) → new_esEs4(ywz5002, ywz4002, baa)
new_esEs25(ywz5002, ywz4002, ty_@0) → new_esEs19(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Float) → new_esEs18(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Integer) → new_esEs14(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(app(app(ty_@3, bag), bah), bba)) → new_esEs6(ywz5002, ywz4002, bag, bah, bba)
new_esEs25(ywz5002, ywz4002, ty_Char) → new_esEs15(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(app(ty_@2, bac), bad)) → new_esEs5(ywz5002, ywz4002, bac, bad)
new_esEs25(ywz5002, ywz4002, ty_Int) → new_esEs11(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(app(ty_Either, bae), baf)) → new_esEs7(ywz5002, ywz4002, bae, baf)
new_esEs12(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bbd) → new_asAs(new_esEs20(ywz5000, ywz4000, bbd), new_esEs12(ywz5001, ywz4001, bbd))
new_esEs12([], [], bbd) → True
new_esEs12(:(ywz5000, ywz5001), [], bbd) → False
new_esEs12([], :(ywz4000, ywz4001), bbd) → False
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bbf)) → new_esEs4(ywz5000, ywz4000, bbf)
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bbg)) → new_esEs13(ywz5000, ywz4000, bbg)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, bbh), bca)) → new_esEs5(ywz5000, ywz4000, bbh, bca)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bcd), bce), bcf)) → new_esEs6(ywz5000, ywz4000, bcd, bce, bcf)
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_[], bbe)) → new_esEs12(ywz5000, ywz4000, bbe)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, bcb), bcc)) → new_esEs7(ywz5000, ywz4000, bcb, bcc)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs8(EQ, EQ) → True
new_esEs8(LT, EQ) → False
new_esEs8(GT, EQ) → False
new_esEs17(True, True) → True
new_esEs17(False, False) → True
new_esEs17(False, True) → False
new_esEs17(True, False) → False
new_ltEs20(ywz500, ywz400, app(ty_Ratio, bga)) → new_ltEs9(ywz500, ywz400, bga)
new_ltEs20(ywz500, ywz400, app(ty_[], bfg)) → new_ltEs7(ywz500, ywz400, bfg)
new_ltEs20(ywz500, ywz400, app(ty_Maybe, bfh)) → new_ltEs8(ywz500, ywz400, bfh)
new_ltEs20(ywz500, ywz400, app(app(ty_Either, bgd), bge)) → new_ltEs4(ywz500, ywz400, bgd, bge)
new_ltEs20(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, app(app(app(ty_@3, bgf), bgg), bgh)) → new_ltEs17(ywz500, ywz400, bgf, bgg, bgh)
new_ltEs20(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, app(app(ty_@2, bgb), bgc)) → new_ltEs10(ywz500, ywz400, bgb, bgc)
new_compare12(ywz154, ywz155, False, bbb, bbc) → GT
new_compare12(ywz154, ywz155, True, bbb, bbc) → LT
new_ltEs10(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcg, bch) → new_pePe(new_lt20(ywz5000, ywz4000, bcg), new_asAs(new_esEs28(ywz5000, ywz4000, bcg), new_ltEs21(ywz5001, ywz4001, bch)))
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(ty_[], bec)) → new_lt9(ywz5000, ywz4000, bec)
new_lt20(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_lt11(ywz5000, ywz4000, bee)
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_lt16(ywz5000, ywz4000, beh, bfa)
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_lt12(ywz5000, ywz4000, bef, beg)
new_lt20(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_lt10(ywz5000, ywz4000, bed)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_lt19(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs28(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_esEs4(ywz5000, ywz4000, bed)
new_esEs28(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_esEs7(ywz5000, ywz4000, beh, bfa)
new_esEs28(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_esEs5(ywz5000, ywz4000, bef, beg)
new_esEs28(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs28(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_esEs13(ywz5000, ywz4000, bee)
new_esEs28(ywz5000, ywz4000, app(ty_[], bec)) → new_esEs12(ywz5000, ywz4000, bec)
new_esEs28(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, app(app(app(ty_@3, bdh), bea), beb)) → new_ltEs17(ywz5001, ywz4001, bdh, bea, beb)
new_ltEs21(ywz5001, ywz4001, ty_Int) → new_ltEs5(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Double) → new_ltEs13(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, app(ty_[], bda)) → new_ltEs7(ywz5001, ywz4001, bda)
new_ltEs21(ywz5001, ywz4001, app(app(ty_Either, bdf), bdg)) → new_ltEs4(ywz5001, ywz4001, bdf, bdg)
new_ltEs21(ywz5001, ywz4001, ty_Char) → new_ltEs12(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, app(ty_Ratio, bdc)) → new_ltEs9(ywz5001, ywz4001, bdc)
new_ltEs21(ywz5001, ywz4001, app(ty_Maybe, bdb)) → new_ltEs8(ywz5001, ywz4001, bdb)
new_ltEs21(ywz5001, ywz4001, ty_@0) → new_ltEs16(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Integer) → new_ltEs11(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Bool) → new_ltEs14(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, app(app(ty_@2, bdd), bde)) → new_ltEs10(ywz5001, ywz4001, bdd, bde)
new_ltEs21(ywz5001, ywz4001, ty_Ordering) → new_ltEs6(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Float) → new_ltEs15(ywz5001, ywz4001)
new_pePe(False, ywz225) → ywz225
new_pePe(True, ywz225) → True
new_ltEs15(ywz500, ywz400) → new_not(new_esEs8(new_compare10(ywz500, ywz400), GT))
new_compare10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_not(False) → True
new_not(True) → False
new_compare8(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat1(ywz50000, ywz4000)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat2(ywz4000, ywz50000)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat2(Zero, ywz40000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat1(ywz40000, Zero)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_primCmpNat1(ywz50000, Zero) → GT
new_primCmpNat2(Zero, ywz50000) → LT
new_primCmpNat2(Succ(ywz40000), ywz50000) → new_primCmpNat0(ywz40000, ywz50000)
new_primCmpNat0(Zero, Succ(ywz400000)) → LT
new_primCmpNat0(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat0(ywz500000, ywz400000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(ywz500000), Zero) → GT
new_primCmpNat1(ywz50000, Succ(ywz40000)) → new_primCmpNat0(ywz50000, ywz40000)
new_ltEs6(GT, EQ) → False
new_ltEs6(EQ, GT) → True
new_ltEs6(EQ, EQ) → True
new_ltEs6(GT, GT) → True
new_ltEs6(LT, LT) → True
new_ltEs6(EQ, LT) → False
new_ltEs6(LT, GT) → True
new_ltEs6(LT, EQ) → True
new_ltEs6(GT, LT) → False
new_ltEs14(False, True) → True
new_ltEs14(False, False) → True
new_ltEs14(True, True) → True
new_ltEs14(True, False) → False
new_ltEs11(ywz500, ywz400) → new_not(new_esEs8(new_compare9(ywz500, ywz400), GT))
new_compare9(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_ltEs16(ywz500, ywz400) → new_not(new_esEs8(new_compare28(ywz500, ywz400), GT))
new_compare28(@0, @0) → EQ
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhe)) → new_ltEs9(ywz5000, ywz4000, bhe)
new_ltEs8(Nothing, Just(ywz4000), bfe) → True
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_[], bhc)) → new_ltEs7(ywz5000, ywz4000, bhc)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cab), cac), cad)) → new_ltEs17(ywz5000, ywz4000, cab, cac, cad)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Nothing, bfe) → False
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, cc), ca) → new_ltEs8(ywz5000, ywz4000, cc)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bhd)) → new_ltEs8(ywz5000, ywz4000, bhd)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(ty_Either, ec), ed)) → new_ltEs4(ywz5000, ywz4000, ec, ed)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cg), da), ca) → new_ltEs4(ywz5000, ywz4000, cg, da)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_Maybe, dg)) → new_ltEs8(ywz5000, ywz4000, dg)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhh), caa)) → new_ltEs4(ywz5000, ywz4000, bhh, caa)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_ltEs8(Nothing, Nothing, bfe) → True
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bhf), bhg)) → new_ltEs10(ywz5000, ywz4000, bhf, bhg)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_ltEs12(ywz500, ywz400) → new_not(new_esEs8(new_compare5(ywz500, ywz400), GT))
new_compare5(Char(ywz5000), Char(ywz4000)) → new_primCmpNat0(ywz5000, ywz4000)
new_ltEs5(ywz500, ywz400) → new_not(new_esEs8(new_compare8(ywz500, ywz400), GT))
new_ltEs13(ywz500, ywz400) → new_not(new_esEs8(new_compare15(ywz500, ywz400), GT))
new_compare15(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Int, ca) → new_ltEs5(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Double, ca) → new_ltEs13(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, ce), cf), ca) → new_ltEs10(ywz5000, ywz4000, ce, cf)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Char, ca) → new_ltEs12(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, db), dc), dd), ca) → new_ltEs17(ywz5000, ywz4000, db, dc, dd)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, ca) → new_ltEs6(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Right(ywz4000), de, ca) → True
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Bool, ca) → new_ltEs14(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, cd), ca) → new_ltEs9(ywz5000, ywz4000, cd)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_@0, ca) → new_ltEs16(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(app(ty_@3, ee), ef), eg)) → new_ltEs17(ywz5000, ywz4000, ee, ef, eg)
new_ltEs4(Right(ywz5000), Left(ywz4000), de, ca) → False
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_Ratio, dh)) → new_ltEs9(ywz5000, ywz4000, dh)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(ty_@2, ea), eb)) → new_ltEs10(ywz5000, ywz4000, ea, eb)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Float, ca) → new_ltEs15(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_[], cb), ca) → new_ltEs7(ywz5000, ywz4000, cb)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_[], df)) → new_ltEs7(ywz5000, ywz4000, df)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Integer, ca) → new_ltEs11(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, bbd) → new_not(new_esEs8(new_compare0(ywz500, ywz400, bbd), GT))
new_compare0([], [], bbd) → EQ
new_compare0(:(ywz5000, ywz5001), [], bbd) → GT
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bbd) → new_primCompAux1(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, bbd), bbd)
new_compare0([], :(ywz4000, ywz4001), bbd) → LT
new_primCompAux1(ywz5000, ywz4000, ywz290, bbd) → new_primCompAux0(ywz290, new_compare31(ywz5000, ywz4000, bbd))
new_compare31(ywz5000, ywz4000, ty_Double) → new_compare15(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Int) → new_compare8(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Ordering) → new_compare16(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(app(ty_Either, bcb), bcc)) → new_compare18(ywz5000, ywz4000, bcb, bcc)
new_compare31(ywz5000, ywz4000, ty_@0) → new_compare28(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_Maybe, bbf)) → new_compare32(ywz5000, ywz4000, bbf)
new_compare31(ywz5000, ywz4000, app(app(app(ty_@3, bcd), bce), bcf)) → new_compare17(ywz5000, ywz4000, bcd, bce, bcf)
new_compare31(ywz5000, ywz4000, ty_Bool) → new_compare6(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(app(ty_@2, bbh), bca)) → new_compare30(ywz5000, ywz4000, bbh, bca)
new_compare31(ywz5000, ywz4000, ty_Integer) → new_compare9(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_Ratio, bbg)) → new_compare7(ywz5000, ywz4000, bbg)
new_compare31(ywz5000, ywz4000, ty_Char) → new_compare5(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_[], bbe)) → new_compare0(ywz5000, ywz4000, bbe)
new_compare31(ywz5000, ywz4000, ty_Float) → new_compare10(ywz5000, ywz4000)
new_primCompAux0(ywz333, GT) → GT
new_primCompAux0(ywz333, LT) → LT
new_primCompAux0(ywz333, EQ) → ywz333
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare8(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare9(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_sr0(Integer(ywz50000), Integer(ywz40010)) → Integer(new_primMulInt(ywz50000, ywz40010))
new_compare30(ywz5000, ywz4000, bef, beg) → new_compare27(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bef, beg), bef, beg)
new_compare27(ywz5000, ywz4000, True, bef, beg) → EQ
new_compare27(ywz5000, ywz4000, False, bef, beg) → new_compare19(ywz5000, ywz4000, new_ltEs10(ywz5000, ywz4000, bef, beg), bef, beg)
new_compare19(ywz5000, ywz4000, True, bef, beg) → LT
new_compare19(ywz5000, ywz4000, False, bef, beg) → GT
new_compare6(ywz5000, ywz4000) → new_compare25(ywz5000, ywz4000, new_esEs17(ywz5000, ywz4000))
new_compare25(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs14(ywz5000, ywz4000))
new_compare25(ywz5000, ywz4000, True) → EQ
new_compare11(ywz5000, ywz4000, False) → GT
new_compare11(ywz5000, ywz4000, True) → LT
new_compare17(ywz5000, ywz4000, bfb, bfc, bfd) → new_compare210(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd), bfb, bfc, bfd)
new_compare210(ywz5000, ywz4000, True, bfb, bfc, bfd) → EQ
new_compare210(ywz5000, ywz4000, False, bfb, bfc, bfd) → new_compare111(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000, bfb, bfc, bfd), bfb, bfc, bfd)
new_ltEs17(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), eh, fa, fb) → new_pePe(new_lt5(ywz5000, ywz4000, eh), new_asAs(new_esEs10(ywz5000, ywz4000, eh), new_pePe(new_lt6(ywz5001, ywz4001, fa), new_asAs(new_esEs9(ywz5001, ywz4001, fa), new_ltEs18(ywz5002, ywz4002, fb)))))
new_compare111(ywz5000, ywz4000, True, bfb, bfc, bfd) → LT
new_compare111(ywz5000, ywz4000, False, bfb, bfc, bfd) → GT
new_lt5(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_lt19(ywz5000, ywz4000, gc, gd, ge)
new_lt5(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_lt16(ywz5000, ywz4000, ga, gb)
new_lt5(ywz5000, ywz4000, app(ty_[], fc)) → new_lt9(ywz5000, ywz4000, fc)
new_lt5(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_lt11(ywz5000, ywz4000, ff)
new_lt5(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_lt12(ywz5000, ywz4000, fg, fh)
new_lt5(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_lt10(ywz5000, ywz4000, fd)
new_lt5(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(ty_[], fc)) → new_esEs12(ywz5000, ywz4000, fc)
new_esEs10(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_esEs7(ywz5000, ywz4000, ga, gb)
new_esEs10(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_esEs5(ywz5000, ywz4000, fg, fh)
new_esEs10(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_esEs6(ywz5000, ywz4000, gc, gd, ge)
new_esEs10(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_esEs13(ywz5000, ywz4000, ff)
new_esEs10(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_esEs4(ywz5000, ywz4000, fd)
new_esEs10(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, ty_Bool) → new_lt4(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, ty_Char) → new_lt14(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, ty_Ordering) → new_lt8(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_lt11(ywz5001, ywz4001, gh)
new_lt6(ywz5001, ywz4001, ty_Float) → new_lt17(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, ty_Double) → new_lt15(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(ty_[], gf)) → new_lt9(ywz5001, ywz4001, gf)
new_lt6(ywz5001, ywz4001, ty_Integer) → new_lt13(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_lt19(ywz5001, ywz4001, he, hf, hg)
new_lt6(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_lt10(ywz5001, ywz4001, gg)
new_lt6(ywz5001, ywz4001, ty_Int) → new_lt7(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_lt16(ywz5001, ywz4001, hc, hd)
new_lt6(ywz5001, ywz4001, ty_@0) → new_lt18(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_lt12(ywz5001, ywz4001, ha, hb)
new_esEs9(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(ty_[], gf)) → new_esEs12(ywz5001, ywz4001, gf)
new_esEs9(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_esEs13(ywz5001, ywz4001, gh)
new_esEs9(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_esEs5(ywz5001, ywz4001, ha, hb)
new_esEs9(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_esEs4(ywz5001, ywz4001, gg)
new_esEs9(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_esEs6(ywz5001, ywz4001, he, hf, hg)
new_esEs9(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_esEs7(ywz5001, ywz4001, hc, hd)
new_ltEs18(ywz5002, ywz4002, ty_Float) → new_ltEs15(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(ty_Ratio, bab)) → new_ltEs9(ywz5002, ywz4002, bab)
new_ltEs18(ywz5002, ywz4002, app(ty_[], hh)) → new_ltEs7(ywz5002, ywz4002, hh)
new_ltEs18(ywz5002, ywz4002, ty_Double) → new_ltEs13(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Int) → new_ltEs5(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Ordering) → new_ltEs6(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(app(ty_@2, bac), bad)) → new_ltEs10(ywz5002, ywz4002, bac, bad)
new_ltEs18(ywz5002, ywz4002, ty_@0) → new_ltEs16(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Integer) → new_ltEs11(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(app(ty_Either, bae), baf)) → new_ltEs4(ywz5002, ywz4002, bae, baf)
new_ltEs18(ywz5002, ywz4002, app(app(app(ty_@3, bag), bah), bba)) → new_ltEs17(ywz5002, ywz4002, bag, bah, bba)
new_ltEs18(ywz5002, ywz4002, ty_Bool) → new_ltEs14(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Char) → new_ltEs12(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(ty_Maybe, baa)) → new_ltEs8(ywz5002, ywz4002, baa)
new_ltEs9(ywz500, ywz400, bff) → new_not(new_esEs8(new_compare7(ywz500, ywz400, bff), GT))
new_lt12(ywz5000, ywz4000, bef, beg) → new_esEs8(new_compare30(ywz5000, ywz4000, bef, beg), LT)
new_lt18(ywz5000, ywz4000) → new_esEs8(new_compare28(ywz5000, ywz4000), LT)
new_lt16(ywz50, ywz40, h, ba) → new_esEs8(new_compare18(ywz50, ywz40, h, ba), LT)
new_lt7(ywz5000, ywz4000) → new_esEs8(new_compare8(ywz5000, ywz4000), LT)
new_lt10(ywz5000, ywz4000, bed) → new_esEs8(new_compare32(ywz5000, ywz4000, bed), LT)
new_compare32(ywz5000, ywz4000, bed) → new_compare29(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, bed), bed)
new_compare29(ywz5000, ywz4000, False, bed) → new_compare110(ywz5000, ywz4000, new_ltEs8(ywz5000, ywz4000, bed), bed)
new_compare29(ywz5000, ywz4000, True, bed) → EQ
new_compare110(ywz5000, ywz4000, True, bed) → LT
new_compare110(ywz5000, ywz4000, False, bed) → GT
new_lt19(ywz5000, ywz4000, bfb, bfc, bfd) → new_esEs8(new_compare17(ywz5000, ywz4000, bfb, bfc, bfd), LT)
new_lt13(ywz5000, ywz4000) → new_esEs8(new_compare9(ywz5000, ywz4000), LT)
new_lt9(ywz5000, ywz4000, bec) → new_esEs8(new_compare0(ywz5000, ywz4000, bec), LT)
new_lt15(ywz5000, ywz4000) → new_esEs8(new_compare15(ywz5000, ywz4000), LT)
new_lt17(ywz5000, ywz4000) → new_esEs8(new_compare10(ywz5000, ywz4000), LT)
new_lt11(ywz5000, ywz4000, bee) → new_esEs8(new_compare7(ywz5000, ywz4000, bee), LT)
new_lt8(ywz5000, ywz4000) → new_esEs8(new_compare16(ywz5000, ywz4000), LT)
new_compare16(ywz5000, ywz4000) → new_compare26(ywz5000, ywz4000, new_esEs8(ywz5000, ywz4000))
new_compare26(ywz5000, ywz4000, False) → new_compare13(ywz5000, ywz4000, new_ltEs6(ywz5000, ywz4000))
new_compare26(ywz5000, ywz4000, True) → EQ
new_compare13(ywz5000, ywz4000, False) → GT
new_compare13(ywz5000, ywz4000, True) → LT
new_lt14(ywz5000, ywz4000) → new_esEs8(new_compare5(ywz5000, ywz4000), LT)
new_lt4(ywz5000, ywz4000) → new_esEs8(new_compare6(ywz5000, ywz4000), LT)
new_ltEs19(ywz500, ywz400, app(app(ty_Either, de), ca)) → new_ltEs4(ywz500, ywz400, de, ca)
new_ltEs19(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(app(ty_@2, bcg), bch)) → new_ltEs10(ywz500, ywz400, bcg, bch)
new_ltEs19(ywz500, ywz400, app(ty_Ratio, bff)) → new_ltEs9(ywz500, ywz400, bff)
new_ltEs19(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(ty_Maybe, bfe)) → new_ltEs8(ywz500, ywz400, bfe)
new_ltEs19(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(ty_[], bbd)) → new_ltEs7(ywz500, ywz400, bbd)
new_ltEs19(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(app(app(ty_@3, eh), fa), fb)) → new_ltEs17(ywz500, ywz400, eh, fa, fb)
new_ltEs19(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_compare14(ywz147, ywz148, False, bha, bhb) → GT
new_compare14(ywz147, ywz148, True, bha, bhb) → LT
new_esEs32(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_esEs32(ywz500, ywz400, app(ty_Maybe, bfh)) → new_esEs4(ywz500, ywz400, bfh)
new_esEs32(ywz500, ywz400, app(app(ty_Either, bgd), bge)) → new_esEs7(ywz500, ywz400, bgd, bge)
new_esEs32(ywz500, ywz400, ty_@0) → new_esEs19(ywz500, ywz400)
new_esEs32(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_esEs32(ywz500, ywz400, app(ty_[], bfg)) → new_esEs12(ywz500, ywz400, bfg)
new_esEs32(ywz500, ywz400, app(app(ty_@2, bgb), bgc)) → new_esEs5(ywz500, ywz400, bgb, bgc)
new_esEs32(ywz500, ywz400, ty_Bool) → new_esEs17(ywz500, ywz400)
new_esEs32(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_esEs32(ywz500, ywz400, ty_Float) → new_esEs18(ywz500, ywz400)
new_esEs32(ywz500, ywz400, ty_Int) → new_esEs11(ywz500, ywz400)
new_esEs32(ywz500, ywz400, app(ty_Ratio, bga)) → new_esEs13(ywz500, ywz400, bga)
new_esEs32(ywz500, ywz400, app(app(app(ty_@3, bgf), bgg), bgh)) → new_esEs6(ywz500, ywz400, bgf, bgg, bgh)
new_esEs32(ywz500, ywz400, ty_Double) → new_esEs16(ywz500, ywz400)

The set Q consists of the following terms:

new_esEs7(Left(x0), Left(x1), ty_Int, x2)
new_esEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs21(x0, x1, ty_Int)
new_compare24(Right(x0), Right(x1), False, x2, x3)
new_esEs18(Float(x0, x1), Float(x2, x3))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs16(x0, x1)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_primCmpNat1(x0, Succ(x1))
new_esEs20(x0, x1, ty_Double)
new_lt6(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Double)
new_compare27(x0, x1, True, x2, x3)
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Int)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt9(x0, x1, x2)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_ltEs21(x0, x1, ty_Ordering)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_primCompAux0(x0, EQ)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, ty_Bool)
new_esEs32(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Bool)
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, ty_Ordering)
new_compare15(Double(x0, x1), Double(x2, x3))
new_esEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_lt6(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_primCmpNat0(Succ(x0), Zero)
new_esEs26(x0, x1, app(ty_[], x2))
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_esEs32(x0, x1, app(ty_Ratio, x2))
new_lt4(x0, x1)
new_ltEs21(x0, x1, ty_Double)
new_lt10(x0, x1, x2)
new_compare5(Char(x0), Char(x1))
new_ltEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs14(True, False)
new_ltEs14(False, True)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs20(x0, x1, ty_Ordering)
new_lt8(x0, x1)
new_esEs8(GT, GT)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(x0, x1, x2)
new_esEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs32(x0, x1, ty_Double)
new_lt20(x0, x1, app(ty_[], x2))
new_compare14(x0, x1, True, x2, x3)
new_compare30(x0, x1, x2, x3)
new_esEs26(x0, x1, ty_Int)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_Integer)
new_esEs7(Left(x0), Left(x1), ty_Integer, x2)
new_esEs8(LT, LT)
new_esEs26(x0, x1, ty_Float)
new_primPlusNat1(Zero, x0)
new_ltEs19(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_compare27(x0, x1, False, x2, x3)
new_lt20(x0, x1, ty_Int)
new_primEqNat0(Succ(x0), Succ(x1))
new_compare0(:(x0, x1), [], x2)
new_ltEs19(x0, x1, ty_Float)
new_esEs17(False, False)
new_lt20(x0, x1, ty_Integer)
new_esEs7(Right(x0), Right(x1), x2, ty_Float)
new_esEs27(x0, x1, ty_Float)
new_lt5(x0, x1, ty_Int)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_compare210(x0, x1, True, x2, x3, x4)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Bool)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, ty_Bool)
new_ltEs6(EQ, EQ)
new_pePe(False, x0)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_compare12(x0, x1, False, x2, x3)
new_esEs7(Left(x0), Left(x1), ty_Char, x2)
new_esEs8(LT, GT)
new_esEs8(GT, LT)
new_ltEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_compare9(Integer(x0), Integer(x1))
new_pePe(True, x0)
new_esEs28(x0, x1, ty_Int)
new_esEs7(Left(x0), Left(x1), ty_Float, x2)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs4(Just(x0), Just(x1), ty_@0)
new_esEs4(Just(x0), Just(x1), ty_Int)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs6(LT, EQ)
new_ltEs20(x0, x1, ty_@0)
new_ltEs6(EQ, LT)
new_compare7(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_primEqNat0(Zero, Zero)
new_ltEs19(x0, x1, ty_Double)
new_esEs7(Right(x0), Right(x1), x2, ty_Int)
new_ltEs8(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs19(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Bool)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Char)
new_compare26(x0, x1, True)
new_esEs12(:(x0, x1), [], x2)
new_compare110(x0, x1, False, x2)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs4(Right(x0), Right(x1), x2, ty_Integer)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_ltEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_compare29(x0, x1, False, x2)
new_esEs4(Just(x0), Just(x1), app(ty_Ratio, x2))
new_lt6(x0, x1, app(ty_Maybe, x2))
new_compare28(@0, @0)
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs28(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Char)
new_primMulNat0(Zero, Zero)
new_esEs28(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, ty_@0)
new_ltEs21(x0, x1, ty_Float)
new_esEs9(x0, x1, ty_Integer)
new_ltEs10(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt20(x0, x1, ty_@0)
new_primCompAux1(x0, x1, x2, x3)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Double)
new_lt6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs19(x0, x1, ty_Int)
new_compare29(x0, x1, True, x2)
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs22(x0, x1, ty_@0)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_ltEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs32(x0, x1, ty_Char)
new_esEs9(x0, x1, ty_Bool)
new_esEs4(Just(x0), Just(x1), ty_Float)
new_lt5(x0, x1, ty_@0)
new_esEs10(x0, x1, ty_Ordering)
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_esEs12([], :(x0, x1), x2)
new_ltEs8(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs7(Left(x0), Left(x1), ty_Double, x2)
new_esEs28(x0, x1, ty_Integer)
new_lt6(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Double)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs8(Nothing, Nothing, x0)
new_esEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs20(x0, x1, ty_@0)
new_esEs25(x0, x1, ty_Int)
new_ltEs20(x0, x1, ty_Int)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, ty_Char)
new_compare24(Left(x0), Right(x1), False, x2, x3)
new_compare24(Right(x0), Left(x1), False, x2, x3)
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs18(x0, x1, ty_Char)
new_esEs21(x0, x1, ty_Integer)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs32(x0, x1, ty_Integer)
new_asAs(False, x0)
new_esEs25(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, ty_Char)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_primMulNat0(Succ(x0), Succ(x1))
new_ltEs4(Right(x0), Right(x1), x2, ty_@0)
new_esEs22(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), ty_Double)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, ty_Ordering)
new_primCmpNat1(x0, Zero)
new_primCmpNat2(Zero, x0)
new_ltEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs11(x0, x1)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_primPlusNat0(Zero, Zero)
new_esEs12(:(x0, x1), :(x2, x3), x4)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Ordering)
new_lt6(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare13(x0, x1, True)
new_compare12(x0, x1, True, x2, x3)
new_lt6(x0, x1, ty_Float)
new_sr(x0, x1)
new_ltEs8(Just(x0), Just(x1), ty_Int)
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_compare14(x0, x1, False, x2, x3)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_compare7(:%(x0, x1), :%(x2, x3), ty_Int)
new_ltEs4(Left(x0), Left(x1), ty_Int, x2)
new_esEs32(x0, x1, ty_Float)
new_esEs4(Just(x0), Just(x1), ty_Ordering)
new_primMulNat0(Zero, Succ(x0))
new_esEs32(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_compare8(x0, x1)
new_lt12(x0, x1, x2, x3)
new_compare31(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Bool)
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs8(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, ty_Ordering)
new_esEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs5(x0, x1)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, ty_Double)
new_lt15(x0, x1)
new_ltEs20(x0, x1, ty_Ordering)
new_lt6(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs8(Just(x0), Just(x1), ty_Bool)
new_ltEs4(Left(x0), Left(x1), ty_Integer, x2)
new_primPlusNat0(Succ(x0), Succ(x1))
new_esEs7(Right(x0), Right(x1), x2, ty_Double)
new_lt6(x0, x1, ty_Integer)
new_ltEs8(Just(x0), Just(x1), app(ty_[], x2))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs4(Right(x0), Right(x1), x2, ty_Float)
new_ltEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs4(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_ltEs8(Just(x0), Just(x1), ty_Double)
new_esEs4(Just(x0), Just(x1), app(ty_[], x2))
new_esEs14(Integer(x0), Integer(x1))
new_ltEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs25(x0, x1, ty_Float)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primMulNat0(Succ(x0), Zero)
new_esEs10(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Double)
new_esEs16(Double(x0, x1), Double(x2, x3))
new_compare24(x0, x1, True, x2, x3)
new_compare6(x0, x1)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_compare32(x0, x1, x2)
new_lt5(x0, x1, ty_Bool)
new_lt13(x0, x1)
new_primCompAux0(x0, LT)
new_lt18(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs8(EQ, EQ)
new_compare13(x0, x1, False)
new_primPlusNat0(Zero, Succ(x0))
new_ltEs8(Just(x0), Just(x1), ty_Ordering)
new_ltEs19(x0, x1, ty_Integer)
new_esEs4(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs10(x0, x1, ty_Float)
new_lt17(x0, x1)
new_esEs4(Nothing, Just(x0), x1)
new_esEs22(x0, x1, ty_Int)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_compare19(x0, x1, False, x2, x3)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Char)
new_esEs7(Right(x0), Right(x1), x2, ty_Bool)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_compare24(Left(x0), Left(x1), False, x2, x3)
new_esEs11(x0, x1)
new_lt5(x0, x1, ty_Integer)
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_sr0(Integer(x0), Integer(x1))
new_lt6(x0, x1, ty_Bool)
new_esEs9(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Double)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs32(x0, x1, app(ty_Maybe, x2))
new_ltEs12(x0, x1)
new_esEs22(x0, x1, ty_Bool)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, ty_Float)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Integer)
new_ltEs8(Nothing, Just(x0), x1)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs4(Nothing, Nothing, x0)
new_ltEs8(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs20(x0, x1, ty_Float)
new_ltEs4(Left(x0), Left(x1), ty_Float, x2)
new_compare18(x0, x1, x2, x3)
new_ltEs6(GT, GT)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_primMulInt(Neg(x0), Neg(x1))
new_lt5(x0, x1, app(ty_Maybe, x2))
new_esEs8(GT, EQ)
new_esEs8(EQ, GT)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, app(ty_Ratio, x2))
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_lt6(x0, x1, ty_Double)
new_lt6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_compare17(x0, x1, x2, x3, x4)
new_esEs24(x0, x1, ty_Integer)
new_primCmpNat0(Zero, Zero)
new_esEs32(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs10(x0, x1, ty_@0)
new_ltEs6(LT, LT)
new_esEs26(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_@0)
new_esEs28(x0, x1, ty_Ordering)
new_ltEs21(x0, x1, app(ty_[], x2))
new_ltEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs18(x0, x1, app(ty_[], x2))
new_compare111(x0, x1, False, x2, x3, x4)
new_esEs25(x0, x1, ty_Integer)
new_lt16(x0, x1, x2, x3)
new_primCmpNat0(Zero, Succ(x0))
new_ltEs9(x0, x1, x2)
new_esEs7(Right(x0), Right(x1), x2, ty_Integer)
new_esEs22(x0, x1, ty_Char)
new_compare31(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Char)
new_ltEs8(Just(x0), Just(x1), ty_@0)
new_primPlusNat0(Succ(x0), Zero)
new_esEs7(Right(x0), Right(x1), x2, ty_Char)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt19(x0, x1, x2, x3, x4)
new_ltEs4(Left(x0), Left(x1), ty_Char, x2)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs22(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_ltEs8(Just(x0), Just(x1), ty_Integer)
new_ltEs21(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Int)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs4(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_compare210(x0, x1, False, x2, x3, x4)
new_lt14(x0, x1)
new_compare25(x0, x1, True)
new_ltEs14(True, True)
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs14(False, False)
new_lt11(x0, x1, x2)
new_compare111(x0, x1, True, x2, x3, x4)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Double)
new_ltEs4(Right(x0), Right(x1), x2, ty_Int)
new_compare19(x0, x1, True, x2, x3)
new_esEs22(x0, x1, ty_Float)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_compare10(Float(x0, x1), Float(x2, x3))
new_esEs24(x0, x1, ty_Int)
new_esEs32(x0, x1, app(app(ty_@2, x2), x3))
new_not(True)
new_esEs32(x0, x1, ty_Bool)
new_ltEs8(Just(x0), Just(x1), ty_Float)
new_esEs27(x0, x1, ty_Char)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs21(x0, x1, ty_@0)
new_esEs21(x0, x1, ty_@0)
new_esEs7(Right(x0), Right(x1), x2, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_esEs4(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Double)
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_not(False)
new_compare31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs32(x0, x1, ty_Int)
new_compare31(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt6(x0, x1, ty_Char)
new_ltEs4(Left(x0), Right(x1), x2, x3)
new_lt6(x0, x1, app(ty_Ratio, x2))
new_ltEs4(Right(x0), Left(x1), x2, x3)
new_esEs4(Just(x0), Just(x1), ty_Integer)
new_esEs26(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_@0)
new_compare25(x0, x1, False)
new_esEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs6(EQ, GT)
new_ltEs6(GT, EQ)
new_esEs13(:%(x0, x1), :%(x2, x3), x4)
new_compare31(x0, x1, ty_Integer)
new_ltEs18(x0, x1, ty_Double)
new_esEs7(Left(x0), Left(x1), ty_@0, x2)
new_esEs9(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_@0)
new_ltEs8(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs13(x0, x1)
new_ltEs4(Left(x0), Left(x1), ty_Double, x2)
new_ltEs8(Just(x0), Just(x1), ty_Char)
new_esEs15(Char(x0), Char(x1))
new_compare16(x0, x1)
new_ltEs15(x0, x1)
new_esEs9(x0, x1, ty_Float)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_asAs(True, x0)
new_esEs8(EQ, LT)
new_esEs8(LT, EQ)
new_esEs7(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_compare0([], [], x0)
new_primCompAux0(x0, GT)
new_ltEs18(x0, x1, ty_Ordering)
new_esEs9(x0, x1, ty_Int)
new_lt7(x0, x1)
new_esEs32(x0, x1, ty_@0)
new_ltEs8(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs20(x0, x1, ty_Bool)
new_esEs20(x0, x1, ty_Float)
new_compare31(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_@0)
new_esEs12([], [], x0)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs17(False, True)
new_esEs17(True, False)
new_esEs25(x0, x1, ty_Char)
new_esEs7(Right(x0), Left(x1), x2, x3)
new_esEs7(Left(x0), Right(x1), x2, x3)
new_compare31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs17(True, True)
new_esEs23(x0, x1, ty_Int)
new_compare26(x0, x1, False)
new_esEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_primEqNat0(Zero, Succ(x0))
new_lt5(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpNat2(Succ(x0), x1)
new_esEs10(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_Bool)
new_esEs28(x0, x1, ty_@0)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_lt5(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare0([], :(x0, x1), x2)
new_esEs19(@0, @0)
new_compare11(x0, x1, False)
new_esEs20(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_Int)
new_compare110(x0, x1, True, x2)
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_esEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_compare11(x0, x1, True)
new_ltEs4(Right(x0), Right(x1), x2, ty_Char)
new_primPlusNat1(Succ(x0), x1)
new_esEs9(x0, x1, ty_@0)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ AND
                                        ↳ QDP
QDP
                                          ↳ UsableRulesProof
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_splitLT10(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba, bb) → new_splitLT(ywz44, ywz500, h, ba, bb)
new_splitLT3(Right(ywz400), ywz41, ywz42, ywz43, ywz44, Left(ywz500), h, ba, bb) → new_splitLT20(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Left(ywz500), Right(ywz400), False, h, ba), LT), h, ba, bb)
new_splitLT3(Left(ywz400), ywz41, ywz42, ywz43, ywz44, Left(ywz500), h, ba, bb) → new_splitLT2(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Left(ywz500), Left(ywz400), new_esEs31(ywz500, ywz400, h), h, ba), LT), h, ba, bb)
new_splitLT2(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, False, bc, bd, be) → new_splitLT1(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, new_esEs8(new_compare18(Left(ywz23), Left(ywz18), bc, bd), GT), bc, bd, be)
new_splitLT20(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba, bb) → new_splitLT10(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare18(Left(ywz500), Right(ywz400), h, ba), GT), h, ba, bb)
new_splitLT20(ywz400, ywz41, ywz42, Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz44, ywz500, True, h, ba, bb) → new_splitLT3(ywz430, ywz431, ywz432, ywz433, ywz434, Left(ywz500), h, ba, bb)
new_splitLT1(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, True, bc, bd, be) → new_splitLT(ywz22, ywz23, bc, bd, be)
new_splitLT2(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, True, bc, bd, be) → new_splitLT(ywz21, ywz23, bc, bd, be)
new_splitLT(Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz500, h, ba, bb) → new_splitLT3(ywz430, ywz431, ywz432, ywz433, ywz434, Left(ywz500), h, ba, bb)

The TRS R consists of the following rules:

new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bhd)) → new_esEs4(ywz5000, ywz4000, bhd)
new_lt14(ywz5000, ywz4000) → new_esEs8(new_compare5(ywz5000, ywz4000), LT)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cg), da), ca) → new_esEs7(ywz5000, ywz4000, cg, da)
new_compare31(ywz5000, ywz4000, ty_Double) → new_compare15(ywz5000, ywz4000)
new_primCmpNat2(Zero, ywz50000) → LT
new_esEs12(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bbd) → new_asAs(new_esEs20(ywz5000, ywz4000, bbd), new_esEs12(ywz5001, ywz4001, bbd))
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_ltEs11(ywz500, ywz400) → new_not(new_esEs8(new_compare9(ywz500, ywz400), GT))
new_ltEs20(ywz500, ywz400, app(ty_Ratio, bga)) → new_ltEs9(ywz500, ywz400, bga)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Maybe, cc), ca) → new_esEs4(ywz5000, ywz4000, cc)
new_esEs31(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_esEs31(ywz500, ywz400, app(ty_[], bbd)) → new_esEs12(ywz500, ywz400, bbd)
new_ltEs18(ywz5002, ywz4002, ty_Float) → new_ltEs15(ywz5002, ywz4002)
new_esEs4(Nothing, Just(ywz4000), bfe) → False
new_esEs4(Just(ywz5000), Nothing, bfe) → False
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_compare24(Left(ywz500), Left(ywz400), False, h, ba) → new_compare14(ywz500, ywz400, new_ltEs19(ywz500, ywz400, h), h, ba)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_compare26(ywz5000, ywz4000, False) → new_compare13(ywz5000, ywz4000, new_ltEs6(ywz5000, ywz4000))
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_ltEs20(ywz500, ywz400, app(ty_[], bfg)) → new_ltEs7(ywz500, ywz400, bfg)
new_esEs9(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_compare31(ywz5000, ywz4000, ty_Int) → new_compare8(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Ordering) → new_compare16(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_primMulNat0(Zero, Zero) → Zero
new_lt6(ywz5001, ywz4001, ty_Bool) → new_lt4(ywz5001, ywz4001)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cab), cac), cad)) → new_esEs6(ywz5000, ywz4000, cab, cac, cad)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Int, ca) → new_ltEs5(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bbf)) → new_esEs4(ywz5000, ywz4000, bbf)
new_ltEs21(ywz5001, ywz4001, app(app(app(ty_@3, bdh), bea), beb)) → new_ltEs17(ywz5001, ywz4001, bdh, bea, beb)
new_ltEs10(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcg, bch) → new_pePe(new_lt20(ywz5000, ywz4000, bcg), new_asAs(new_esEs28(ywz5000, ywz4000, bcg), new_ltEs21(ywz5001, ywz4001, bch)))
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_ltEs20(ywz500, ywz400, app(ty_Maybe, bfh)) → new_ltEs8(ywz500, ywz400, bfh)
new_esEs32(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_lt10(ywz5000, ywz4000, bed) → new_esEs8(new_compare32(ywz5000, ywz4000, bed), LT)
new_ltEs14(False, True) → True
new_esEs25(ywz5002, ywz4002, ty_Bool) → new_esEs17(ywz5002, ywz4002)
new_lt8(ywz5000, ywz4000) → new_esEs8(new_compare16(ywz5000, ywz4000), LT)
new_esEs26(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, ty_Double) → new_esEs16(ywz5002, ywz4002)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Double, ca) → new_ltEs13(ywz5000, ywz4000)
new_compare24(Left(ywz500), Right(ywz400), False, h, ba) → LT
new_ltEs9(ywz500, ywz400, bff) → new_not(new_esEs8(new_compare7(ywz500, ywz400, bff), GT))
new_compare5(Char(ywz5000), Char(ywz4000)) → new_primCmpNat0(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, ce), cf), ca) → new_ltEs10(ywz5000, ywz4000, ce, cf)
new_esEs17(True, True) → True
new_esEs18(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs18(ywz5002, ywz4002, app(ty_Ratio, bab)) → new_ltEs9(ywz5002, ywz4002, bab)
new_esEs12([], [], bbd) → True
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bbg)) → new_esEs13(ywz5000, ywz4000, bbg)
new_ltEs15(ywz500, ywz400) → new_not(new_esEs8(new_compare10(ywz500, ywz400), GT))
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Integer, ca) → new_esEs14(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, ty_Int) → new_ltEs5(ywz5001, ywz4001)
new_esEs22(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_esEs5(ywz5000, ywz4000, bef, beg)
new_lt9(ywz5000, ywz4000, bec) → new_esEs8(new_compare0(ywz5000, ywz4000, bec), LT)
new_esEs26(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, cc), ca) → new_ltEs8(ywz5000, ywz4000, cc)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Char, ca) → new_ltEs12(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_esEs4(ywz5001, ywz4001, gg)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, db), dc), dd), ca) → new_ltEs17(ywz5000, ywz4000, db, dc, dd)
new_ltEs18(ywz5002, ywz4002, app(ty_[], hh)) → new_ltEs7(ywz5002, ywz4002, hh)
new_primCmpNat1(ywz50000, Succ(ywz40000)) → new_primCmpNat0(ywz50000, ywz40000)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_esEs7(ywz5000, ywz4000, beh, bfa)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs9(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_ltEs19(ywz500, ywz400, app(app(ty_Either, de), ca)) → new_ltEs4(ywz500, ywz400, de, ca)
new_pePe(False, ywz225) → ywz225
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Right(ywz4000), de, ca) → False
new_esEs7(Right(ywz5000), Left(ywz4000), de, ca) → False
new_esEs12(:(ywz5000, ywz5001), [], bbd) → False
new_esEs12([], :(ywz4000, ywz4001), bbd) → False
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, ca) → new_ltEs6(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_primCmpNat1(ywz50000, Zero) → GT
new_esEs28(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_esEs7(ywz5000, ywz4000, ga, gb)
new_esEs26(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_ltEs20(ywz500, ywz400, app(app(ty_Either, bgd), bge)) → new_ltEs4(ywz500, ywz400, bgd, bge)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhe)) → new_ltEs9(ywz5000, ywz4000, bhe)
new_ltEs6(GT, EQ) → False
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(ty_Either, ec), ed)) → new_ltEs4(ywz5000, ywz4000, ec, ed)
new_esEs22(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs31(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, bbh), bca)) → new_esEs5(ywz5000, ywz4000, bbh, bca)
new_esEs14(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Right(ywz4000), de, ca) → True
new_esEs32(ywz500, ywz400, app(ty_Maybe, bfh)) → new_esEs4(ywz500, ywz400, bfh)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(ty_@2, ea), eb)) → new_esEs5(ywz5000, ywz4000, ea, eb)
new_primCmpNat0(Zero, Succ(ywz400000)) → LT
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Bool, ca) → new_ltEs14(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, ty_Char) → new_lt14(ywz5001, ywz4001)
new_ltEs8(Nothing, Just(ywz4000), bfe) → True
new_ltEs19(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_esEs8(LT, LT) → True
new_lt6(ywz5001, ywz4001, ty_Ordering) → new_lt8(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bdc)) → new_esEs13(ywz5001, ywz4001, bdc)
new_esEs28(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_lt19(ywz5000, ywz4000, gc, gd, ge)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Int, ca) → new_esEs11(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, cd), ca) → new_ltEs9(ywz5000, ywz4000, cd)
new_esEs25(ywz5002, ywz4002, ty_Ordering) → new_esEs8(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Double) → new_ltEs13(ywz5002, ywz4002)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_@0, ca) → new_ltEs16(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, app(ty_Ratio, bab)) → new_esEs13(ywz5002, ywz4002, bab)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bcd), bce), bcf)) → new_esEs6(ywz5000, ywz4000, bcd, bce, bcf)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_[], bhc)) → new_ltEs7(ywz5000, ywz4000, bhc)
new_pePe(True, ywz225) → True
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare8(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare9(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_compare0([], [], bbd) → EQ
new_compare14(ywz147, ywz148, False, bha, bhb) → GT
new_ltEs21(ywz5001, ywz4001, ty_Double) → new_ltEs13(ywz5001, ywz4001)
new_primEqNat0(Zero, Zero) → True
new_compare31(ywz5000, ywz4000, app(app(ty_Either, bcb), bcc)) → new_compare18(ywz5000, ywz4000, bcb, bcc)
new_compare26(ywz5000, ywz4000, True) → EQ
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(ty_[], fc)) → new_esEs12(ywz5000, ywz4000, fc)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_@2, ce), cf), ca) → new_esEs5(ywz5000, ywz4000, ce, cf)
new_ltEs21(ywz5001, ywz4001, app(ty_[], bda)) → new_ltEs7(ywz5001, ywz4001, bda)
new_primMulNat0(Succ(ywz500000), Succ(ywz400000)) → new_primPlusNat1(new_primMulNat0(ywz500000, Succ(ywz400000)), ywz400000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_[], bhc)) → new_esEs12(ywz5000, ywz4000, bhc)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cab), cac), cad)) → new_ltEs17(ywz5000, ywz4000, cab, cac, cad)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_esEs13(ywz5001, ywz4001, gh)
new_lt20(ywz5000, ywz4000, app(ty_[], bec)) → new_lt9(ywz5000, ywz4000, bec)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_esEs13(ywz5000, ywz4000, ff)
new_esEs17(False, False) → True
new_esEs17(False, True) → False
new_esEs17(True, False) → False
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Ordering, ca) → new_esEs8(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_lt16(ywz5000, ywz4000, ga, gb)
new_esEs15(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_ltEs18(ywz5002, ywz4002, ty_Int) → new_ltEs5(ywz5002, ywz4002)
new_ltEs19(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(app(ty_@3, ee), ef), eg)) → new_esEs6(ywz5000, ywz4000, ee, ef, eg)
new_sr(ywz5000, ywz4000) → new_primMulInt(ywz5000, ywz4000)
new_compare12(ywz154, ywz155, False, bbb, bbc) → GT
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_[], fc)) → new_lt9(ywz5000, ywz4000, fc)
new_esEs26(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_ltEs6(EQ, GT) → True
new_esEs8(GT, GT) → True
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_ltEs18(ywz5002, ywz4002, ty_Ordering) → new_ltEs6(ywz5002, ywz4002)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat1(ywz50000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(ty_Either, ec), ed)) → new_esEs7(ywz5000, ywz4000, ec, ed)
new_esEs31(ywz500, ywz400, app(app(ty_Either, de), ca)) → new_esEs7(ywz500, ywz400, de, ca)
new_esEs26(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_esEs6(ywz5001, ywz4001, he, hf, hg)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_compare25(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs14(ywz5000, ywz4000))
new_esEs31(ywz500, ywz400, ty_Float) → new_esEs18(ywz500, ywz400)
new_esEs8(LT, GT) → False
new_esEs8(GT, LT) → False
new_lt17(ywz5000, ywz4000) → new_esEs8(new_compare10(ywz5000, ywz4000), LT)
new_compare16(ywz5000, ywz4000) → new_compare26(ywz5000, ywz4000, new_esEs8(ywz5000, ywz4000))
new_compare29(ywz5000, ywz4000, False, bed) → new_compare110(ywz5000, ywz4000, new_ltEs8(ywz5000, ywz4000, bed), bed)
new_esEs25(ywz5002, ywz4002, app(ty_[], hh)) → new_esEs12(ywz5002, ywz4002, hh)
new_compare17(ywz5000, ywz4000, bfb, bfc, bfd) → new_compare210(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd), bfb, bfc, bfd)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_compare25(ywz5000, ywz4000, True) → EQ
new_ltEs20(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_lt11(ywz5000, ywz4000, bee)
new_compare6(ywz5000, ywz4000) → new_compare25(ywz5000, ywz4000, new_esEs17(ywz5000, ywz4000))
new_ltEs19(ywz500, ywz400, app(app(ty_@2, bcg), bch)) → new_ltEs10(ywz500, ywz400, bcg, bch)
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs28(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_compare13(ywz5000, ywz4000, False) → GT
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs28(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_esEs4(ywz5000, ywz4000, bed)
new_ltEs19(ywz500, ywz400, app(ty_Ratio, bff)) → new_ltEs9(ywz500, ywz400, bff)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_Ratio, dh)) → new_esEs13(ywz5000, ywz4000, dh)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_esEs31(ywz500, ywz400, app(app(app(ty_@3, eh), fa), fb)) → new_esEs6(ywz500, ywz400, eh, fa, fb)
new_lt13(ywz5000, ywz4000) → new_esEs8(new_compare9(ywz5000, ywz4000), LT)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Ratio, cd), ca) → new_esEs13(ywz5000, ywz4000, cd)
new_esEs9(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_lt11(ywz5001, ywz4001, gh)
new_ltEs6(EQ, EQ) → True
new_ltEs20(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_primCmpNat2(Succ(ywz40000), ywz50000) → new_primCmpNat0(ywz40000, ywz50000)
new_compare8(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cg), da), ca) → new_ltEs4(ywz5000, ywz4000, cg, da)
new_ltEs19(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_primCompAux0(ywz333, GT) → GT
new_esEs8(EQ, EQ) → True
new_primPlusNat1(Zero, ywz400000) → Succ(ywz400000)
new_ltEs6(GT, GT) → True
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_compare24(ywz50, ywz40, True, h, ba) → EQ
new_compare31(ywz5000, ywz4000, ty_@0) → new_compare28(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, app(app(ty_Either, bdf), bdg)) → new_ltEs4(ywz5001, ywz4001, bdf, bdg)
new_compare31(ywz5000, ywz4000, app(ty_Maybe, bbf)) → new_compare32(ywz5000, ywz4000, bbf)
new_esEs19(@0, @0) → True
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_esEs7(ywz5001, ywz4001, hc, hd)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_esEs23(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_ltEs18(ywz5002, ywz4002, app(app(ty_@2, bac), bad)) → new_ltEs10(ywz5002, ywz4002, bac, bad)
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhh), caa)) → new_esEs7(ywz5000, ywz4000, bhh, caa)
new_primCmpNat0(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat0(ywz500000, ywz400000)
new_esEs22(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_esEs4(ywz5000, ywz4000, bed)
new_esEs22(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, app(ty_Maybe, baa)) → new_esEs4(ywz5002, ywz4002, baa)
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_compare27(ywz5000, ywz4000, True, bef, beg) → EQ
new_esEs32(ywz500, ywz400, app(app(ty_Either, bgd), bge)) → new_esEs7(ywz500, ywz400, bgd, bge)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bhf), bhg)) → new_esEs5(ywz5000, ywz4000, bhf, bhg)
new_compare31(ywz5000, ywz4000, app(app(app(ty_@3, bcd), bce), bcf)) → new_compare17(ywz5000, ywz4000, bcd, bce, bcf)
new_ltEs19(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_compare31(ywz5000, ywz4000, ty_Bool) → new_compare6(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_compare12(ywz154, ywz155, True, bbb, bbc) → LT
new_ltEs20(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_ltEs14(False, False) → True
new_esEs16(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_[], df)) → new_esEs12(ywz5000, ywz4000, df)
new_esEs13(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), bff) → new_asAs(new_esEs24(ywz5000, ywz4000, bff), new_esEs23(ywz5001, ywz4001, bff))
new_compare111(ywz5000, ywz4000, True, bfb, bfc, bfd) → LT
new_esEs32(ywz500, ywz400, ty_@0) → new_esEs19(ywz500, ywz400)
new_esEs28(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, ty_@0) → new_esEs19(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_@0) → new_ltEs16(ywz5002, ywz4002)
new_ltEs8(Just(ywz5000), Nothing, bfe) → False
new_ltEs12(ywz500, ywz400) → new_not(new_esEs8(new_compare5(ywz500, ywz400), GT))
new_esEs9(ywz5001, ywz4001, app(ty_[], gf)) → new_esEs12(ywz5001, ywz4001, gf)
new_esEs22(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs28(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs8(LT, EQ) → False
new_esEs8(EQ, LT) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_esEs10(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_esEs7(ywz5000, ywz4000, ga, gb)
new_esEs31(ywz500, ywz400, ty_Bool) → new_esEs17(ywz500, ywz400)
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_lt4(ywz5000, ywz4000) → new_esEs8(new_compare6(ywz5000, ywz4000), LT)
new_ltEs18(ywz5002, ywz4002, ty_Integer) → new_ltEs11(ywz5002, ywz4002)
new_primPlusNat0(Zero, Succ(ywz4000000)) → Succ(ywz4000000)
new_primPlusNat0(Succ(ywz24800), Zero) → Succ(ywz24800)
new_esEs31(ywz500, ywz400, app(app(ty_@2, bcg), bch)) → new_esEs5(ywz500, ywz400, bcg, bch)
new_esEs5(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcg, bch) → new_asAs(new_esEs22(ywz5000, ywz4000, bcg), new_esEs21(ywz5001, ywz4001, bch))
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(ywz500000), Zero) → GT
new_esEs22(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_compare210(ywz5000, ywz4000, True, bfb, bfc, bfd) → EQ
new_esEs22(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_esEs13(ywz5000, ywz4000, bee)
new_lt6(ywz5001, ywz4001, ty_Float) → new_lt17(ywz5001, ywz4001)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(app(ty_@3, ee), ef), eg)) → new_ltEs17(ywz5000, ywz4000, ee, ef, eg)
new_compare13(ywz5000, ywz4000, True) → LT
new_sr0(Integer(ywz50000), Integer(ywz40010)) → Integer(new_primMulInt(ywz50000, ywz40010))
new_esEs32(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_[], cb), ca) → new_esEs12(ywz5000, ywz4000, cb)
new_esEs32(ywz500, ywz400, app(ty_[], bfg)) → new_esEs12(ywz500, ywz400, bfg)
new_ltEs18(ywz5002, ywz4002, app(app(ty_Either, bae), baf)) → new_ltEs4(ywz5002, ywz4002, bae, baf)
new_compare15(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_ltEs20(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_lt6(ywz5001, ywz4001, ty_Double) → new_lt15(ywz5001, ywz4001)
new_esEs32(ywz500, ywz400, app(app(ty_@2, bgb), bgc)) → new_esEs5(ywz500, ywz400, bgb, bgc)
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_esEs20(ywz5000, ywz4000, app(ty_[], bbe)) → new_esEs12(ywz5000, ywz4000, bbe)
new_compare24(Right(ywz500), Left(ywz400), False, h, ba) → GT
new_esEs28(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_esEs7(ywz5000, ywz4000, beh, bfa)
new_compare30(ywz5000, ywz4000, bef, beg) → new_compare27(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bef, beg), bef, beg)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_Maybe, dg)) → new_esEs4(ywz5000, ywz4000, dg)
new_ltEs17(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), eh, fa, fb) → new_pePe(new_lt5(ywz5000, ywz4000, eh), new_asAs(new_esEs10(ywz5000, ywz4000, eh), new_pePe(new_lt6(ywz5001, ywz4001, fa), new_asAs(new_esEs9(ywz5001, ywz4001, fa), new_ltEs18(ywz5002, ywz4002, fb)))))
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, app(ty_[], gf)) → new_lt9(ywz5001, ywz4001, gf)
new_lt5(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_lt16(ywz50, ywz40, h, ba) → new_esEs8(new_compare18(ywz50, ywz40, h, ba), LT)
new_esEs8(EQ, GT) → False
new_esEs8(GT, EQ) → False
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, ty_Integer) → new_lt13(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_esEs5(ywz5001, ywz4001, ha, hb)
new_esEs32(ywz500, ywz400, ty_Bool) → new_esEs17(ywz500, ywz400)
new_esEs22(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bdd), bde)) → new_esEs5(ywz5001, ywz4001, bdd, bde)
new_primCompAux0(ywz333, LT) → LT
new_esEs9(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_not(False) → True
new_esEs11(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Left(ywz4000), de, ca) → False
new_ltEs20(ywz500, ywz400, app(app(app(ty_@3, bgf), bgg), bgh)) → new_ltEs17(ywz500, ywz400, bgf, bgg, bgh)
new_esEs31(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_compare110(ywz5000, ywz4000, True, bed) → LT
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Double, ca) → new_esEs16(ywz5000, ywz4000)
new_compare210(ywz5000, ywz4000, False, bfb, bfc, bfd) → new_compare111(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000, bfb, bfc, bfd), bfb, bfc, bfd)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs32(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_ltEs21(ywz5001, ywz4001, ty_Char) → new_ltEs12(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, ty_Float) → new_esEs18(ywz5002, ywz4002)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_lt16(ywz5000, ywz4000, beh, bfa)
new_esEs9(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs28(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_esEs5(ywz5000, ywz4000, bef, beg)
new_compare0(:(ywz5000, ywz5001), [], bbd) → GT
new_lt6(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_lt19(ywz5001, ywz4001, he, hf, hg)
new_lt7(ywz5000, ywz4000) → new_esEs8(new_compare8(ywz5000, ywz4000), LT)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs32(ywz500, ywz400, ty_Float) → new_esEs18(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_Ratio, dh)) → new_ltEs9(ywz5000, ywz4000, dh)
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_compare27(ywz5000, ywz4000, False, bef, beg) → new_compare19(ywz5000, ywz4000, new_ltEs10(ywz5000, ywz4000, bef, beg), bef, beg)
new_lt6(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_lt10(ywz5001, ywz4001, gg)
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_lt11(ywz5000, ywz4000, ff)
new_primMulInt(Pos(ywz50000), Pos(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs18(ywz5000, ywz4000)
new_ltEs19(ywz500, ywz400, app(ty_Maybe, bfe)) → new_ltEs8(ywz500, ywz400, bfe)
new_primMulInt(Neg(ywz50000), Neg(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_esEs9(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_esEs13(ywz5001, ywz4001, gh)
new_ltEs19(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(ty_@2, ea), eb)) → new_ltEs10(ywz5000, ywz4000, ea, eb)
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_lt20(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_lt12(ywz5000, ywz4000, bef, beg)
new_primPlusNat0(Zero, Zero) → Zero
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Float, ca) → new_ltEs15(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(ty_[], bda)) → new_esEs12(ywz5001, ywz4001, bda)
new_ltEs6(LT, LT) → True
new_ltEs6(EQ, LT) → False
new_ltEs14(True, True) → True
new_lt20(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_lt10(ywz5000, ywz4000, bed)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_ltEs18(ywz5002, ywz4002, app(app(app(ty_@3, bag), bah), bba)) → new_ltEs17(ywz5002, ywz4002, bag, bah, bba)
new_esEs28(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs4(Nothing, Nothing, bfe) → True
new_ltEs21(ywz5001, ywz4001, app(ty_Ratio, bdc)) → new_ltEs9(ywz5001, ywz4001, bdc)
new_compare111(ywz5000, ywz4000, False, bfb, bfc, bfd) → GT
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhe)) → new_esEs13(ywz5000, ywz4000, bhe)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_esEs6(ywz5000, ywz4000, gc, gd, ge)
new_compare31(ywz5000, ywz4000, app(app(ty_@2, bbh), bca)) → new_compare30(ywz5000, ywz4000, bbh, bca)
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_esEs5(ywz5000, ywz4000, fg, fh)
new_lt5(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_esEs23(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhh), caa)) → new_ltEs4(ywz5000, ywz4000, bhh, caa)
new_esEs10(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_esEs5(ywz5000, ywz4000, fg, fh)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_esEs4(ywz5000, ywz4000, fd)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bdf), bdg)) → new_esEs7(ywz5001, ywz4001, bdf, bdg)
new_primPlusNat1(Succ(ywz2480), ywz400000) → Succ(Succ(new_primPlusNat0(ywz2480, ywz400000)))
new_lt15(ywz5000, ywz4000) → new_esEs8(new_compare15(ywz5000, ywz4000), LT)
new_ltEs21(ywz5001, ywz4001, app(ty_Maybe, bdb)) → new_ltEs8(ywz5001, ywz4001, bdb)
new_lt6(ywz5001, ywz4001, ty_Int) → new_lt7(ywz5001, ywz4001)
new_lt19(ywz5000, ywz4000, bfb, bfc, bfd) → new_esEs8(new_compare17(ywz5000, ywz4000, bfb, bfc, bfd), LT)
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_compare110(ywz5000, ywz4000, False, bed) → GT
new_esEs25(ywz5002, ywz4002, ty_Integer) → new_esEs14(ywz5002, ywz4002)
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bbd) → new_primCompAux1(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, bbd), bbd)
new_ltEs19(ywz500, ywz400, app(ty_[], bbd)) → new_ltEs7(ywz500, ywz400, bbd)
new_compare19(ywz5000, ywz4000, True, bef, beg) → LT
new_esEs32(ywz500, ywz400, ty_Int) → new_esEs11(ywz500, ywz400)
new_compare31(ywz5000, ywz4000, ty_Integer) → new_compare9(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_Ratio, bbg)) → new_compare7(ywz5000, ywz4000, bbg)
new_ltEs5(ywz500, ywz400) → new_not(new_esEs8(new_compare8(ywz500, ywz400), GT))
new_lt6(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_lt16(ywz5001, ywz4001, hc, hd)
new_esEs24(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs9(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_ltEs19(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs21(ywz5001, ywz4001, ty_@0) → new_ltEs16(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bdb)) → new_esEs4(ywz5001, ywz4001, bdb)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, bcb), bcc)) → new_esEs7(ywz5000, ywz4000, bcb, bcc)
new_lt5(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, ty_Integer) → new_ltEs11(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_esEs5(ywz5001, ywz4001, ha, hb)
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_compare29(ywz5000, ywz4000, True, bed) → EQ
new_primCompAux1(ywz5000, ywz4000, ywz290, bbd) → new_primCompAux0(ywz290, new_compare31(ywz5000, ywz4000, bbd))
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bhd)) → new_ltEs8(ywz5000, ywz4000, bhd)
new_compare18(ywz50, ywz40, h, ba) → new_compare24(ywz50, ywz40, new_esEs7(ywz50, ywz40, h, ba), h, ba)
new_lt5(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Char) → new_compare5(ywz5000, ywz4000)
new_esEs32(ywz500, ywz400, app(ty_Ratio, bga)) → new_esEs13(ywz500, ywz400, bga)
new_compare9(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_asAs(False, ywz142) → False
new_esEs10(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_esEs6(ywz5000, ywz4000, gc, gd, ge)
new_primMulInt(Pos(ywz50000), Neg(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Neg(ywz50000), Pos(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat2(ywz4000, ywz50000)
new_primMulNat0(Succ(ywz500000), Zero) → Zero
new_primMulNat0(Zero, Succ(ywz400000)) → Zero
new_esEs26(ywz5001, ywz4001, app(ty_[], gf)) → new_esEs12(ywz5001, ywz4001, gf)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_esEs4(ywz5001, ywz4001, gg)
new_esEs31(ywz500, ywz400, ty_Double) → new_esEs16(ywz500, ywz400)
new_ltEs21(ywz5001, ywz4001, ty_Bool) → new_ltEs14(ywz5001, ywz4001)
new_esEs10(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_esEs13(ywz5000, ywz4000, ff)
new_lt6(ywz5001, ywz4001, ty_@0) → new_lt18(ywz5001, ywz4001)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Float, ca) → new_esEs18(ywz5000, ywz4000)
new_ltEs18(ywz5002, ywz4002, ty_Bool) → new_ltEs14(ywz5002, ywz4002)
new_compare10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_compare31(ywz5000, ywz4000, app(ty_[], bbe)) → new_compare0(ywz5000, ywz4000, bbe)
new_esEs28(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_ltEs18(ywz5002, ywz4002, ty_Char) → new_ltEs12(ywz5002, ywz4002)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat2(Zero, ywz40000)
new_esEs25(ywz5002, ywz4002, app(app(app(ty_@3, bag), bah), bba)) → new_esEs6(ywz5002, ywz4002, bag, bah, bba)
new_esEs31(ywz500, ywz400, ty_@0) → new_esEs19(ywz500, ywz400)
new_esEs10(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_ltEs6(LT, GT) → True
new_esEs10(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, db), dc), dd), ca) → new_esEs6(ywz5000, ywz4000, db, dc, dd)
new_ltEs21(ywz5001, ywz4001, app(app(ty_@2, bdd), bde)) → new_ltEs10(ywz5001, ywz4001, bdd, bde)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(ty_[], bec)) → new_esEs12(ywz5000, ywz4000, bec)
new_esEs24(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_[], cb), ca) → new_ltEs7(ywz5000, ywz4000, cb)
new_ltEs21(ywz5001, ywz4001, ty_Ordering) → new_ltEs6(ywz5001, ywz4001)
new_esEs32(ywz500, ywz400, app(app(app(ty_@3, bgf), bgg), bgh)) → new_esEs6(ywz500, ywz400, bgf, bgg, bgh)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_esEs13(ywz5000, ywz4000, bee)
new_ltEs18(ywz5002, ywz4002, app(ty_Maybe, baa)) → new_ltEs8(ywz5002, ywz4002, baa)
new_ltEs14(True, False) → False
new_esEs25(ywz5002, ywz4002, ty_Char) → new_esEs15(ywz5002, ywz4002)
new_compare11(ywz5000, ywz4000, False) → GT
new_ltEs13(ywz500, ywz400) → new_not(new_esEs8(new_compare15(ywz500, ywz400), GT))
new_lt11(ywz5000, ywz4000, bee) → new_esEs8(new_compare7(ywz5000, ywz4000, bee), LT)
new_lt5(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_lt12(ywz5000, ywz4000, fg, fh)
new_ltEs8(Nothing, Nothing, bfe) → True
new_esEs26(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, app(app(ty_@2, bac), bad)) → new_esEs5(ywz5002, ywz4002, bac, bad)
new_ltEs16(ywz500, ywz400) → new_not(new_esEs8(new_compare28(ywz500, ywz400), GT))
new_compare11(ywz5000, ywz4000, True) → LT
new_ltEs19(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_esEs31(ywz500, ywz400, app(ty_Maybe, bfe)) → new_esEs4(ywz500, ywz400, bfe)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_[], df)) → new_ltEs7(ywz5000, ywz4000, df)
new_esEs9(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_ltEs19(ywz500, ywz400, app(app(app(ty_@3, eh), fa), fb)) → new_ltEs17(ywz500, ywz400, eh, fa, fb)
new_ltEs20(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_compare14(ywz147, ywz148, True, bha, bhb) → LT
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Bool, ca) → new_esEs17(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat1(ywz40000, Zero)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs19(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Float) → new_compare10(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_primPlusNat0(Succ(ywz24800), Succ(ywz4000000)) → Succ(Succ(new_primPlusNat0(ywz24800, ywz4000000)))
new_esEs9(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_esEs6(ywz5001, ywz4001, he, hf, hg)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_Maybe, dg)) → new_ltEs8(ywz5000, ywz4000, dg)
new_lt5(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_lt10(ywz5000, ywz4000, fd)
new_compare0([], :(ywz4000, ywz4001), bbd) → LT
new_ltEs6(LT, EQ) → True
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bdh), bea), beb)) → new_esEs6(ywz5001, ywz4001, bdh, bea, beb)
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_lt19(ywz5000, ywz4000, bfb, bfc, bfd)
new_ltEs6(GT, LT) → False
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_asAs(True, ywz142) → ywz142
new_esEs28(ywz5000, ywz4000, app(ty_[], bec)) → new_esEs12(ywz5000, ywz4000, bec)
new_esEs27(ywz5000, ywz4000, app(ty_[], fc)) → new_esEs12(ywz5000, ywz4000, fc)
new_esEs25(ywz5002, ywz4002, ty_Int) → new_esEs11(ywz5002, ywz4002)
new_lt12(ywz5000, ywz4000, bef, beg) → new_esEs8(new_compare30(ywz5000, ywz4000, bef, beg), LT)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_@0, ca) → new_esEs19(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Integer, ca) → new_ltEs11(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bhf), bhg)) → new_ltEs10(ywz5000, ywz4000, bhf, bhg)
new_ltEs21(ywz5001, ywz4001, ty_Float) → new_ltEs15(ywz5001, ywz4001)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Char, ca) → new_esEs15(ywz5000, ywz4000)
new_esEs32(ywz500, ywz400, ty_Double) → new_esEs16(ywz500, ywz400)
new_esEs9(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_esEs7(ywz5001, ywz4001, hc, hd)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs31(ywz500, ywz400, app(ty_Ratio, bff)) → new_esEs13(ywz500, ywz400, bff)
new_esEs31(ywz500, ywz400, ty_Int) → new_esEs11(ywz500, ywz400)
new_esEs26(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, bbd) → new_not(new_esEs8(new_compare0(ywz500, ywz400, bbd), GT))
new_ltEs20(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_compare32(ywz5000, ywz4000, bed) → new_compare29(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, bed), bed)
new_compare19(ywz5000, ywz4000, False, bef, beg) → GT
new_esEs28(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, app(app(ty_Either, bae), baf)) → new_esEs7(ywz5002, ywz4002, bae, baf)
new_lt5(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_lt6(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_lt12(ywz5001, ywz4001, ha, hb)
new_primCompAux0(ywz333, EQ) → ywz333
new_esEs6(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), eh, fa, fb) → new_asAs(new_esEs27(ywz5000, ywz4000, eh), new_asAs(new_esEs26(ywz5001, ywz4001, fa), new_esEs25(ywz5002, ywz4002, fb)))
new_ltEs20(ywz500, ywz400, app(app(ty_@2, bgb), bgc)) → new_ltEs10(ywz500, ywz400, bgb, bgc)
new_ltEs19(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_compare28(@0, @0) → EQ
new_esEs10(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_esEs4(ywz5000, ywz4000, fd)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs10(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_lt18(ywz5000, ywz4000) → new_esEs8(new_compare28(ywz5000, ywz4000), LT)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_not(True) → False
new_compare24(Right(ywz500), Right(ywz400), False, h, ba) → new_compare12(ywz500, ywz400, new_ltEs20(ywz500, ywz400, ba), h, ba)

The set Q consists of the following terms:

new_esEs7(Left(x0), Left(x1), ty_Int, x2)
new_esEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs21(x0, x1, ty_Int)
new_compare24(Right(x0), Right(x1), False, x2, x3)
new_esEs18(Float(x0, x1), Float(x2, x3))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs16(x0, x1)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_primCmpNat1(x0, Succ(x1))
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(x0, x1, ty_Double)
new_lt6(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Double)
new_compare27(x0, x1, True, x2, x3)
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Int)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt9(x0, x1, x2)
new_esEs31(x0, x1, app(ty_[], x2))
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_ltEs21(x0, x1, ty_Ordering)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_primCompAux0(x0, EQ)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, ty_Bool)
new_esEs32(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Bool)
new_esEs31(x0, x1, ty_Bool)
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, ty_Ordering)
new_compare15(Double(x0, x1), Double(x2, x3))
new_esEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_lt6(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_primCmpNat0(Succ(x0), Zero)
new_esEs26(x0, x1, app(ty_[], x2))
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_esEs32(x0, x1, app(ty_Ratio, x2))
new_lt4(x0, x1)
new_ltEs21(x0, x1, ty_Double)
new_lt10(x0, x1, x2)
new_compare5(Char(x0), Char(x1))
new_ltEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs14(True, False)
new_ltEs14(False, True)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs20(x0, x1, ty_Ordering)
new_lt8(x0, x1)
new_esEs8(GT, GT)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(x0, x1, x2)
new_esEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs32(x0, x1, ty_Double)
new_lt20(x0, x1, app(ty_[], x2))
new_compare14(x0, x1, True, x2, x3)
new_compare30(x0, x1, x2, x3)
new_esEs26(x0, x1, ty_Int)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_Integer)
new_esEs7(Left(x0), Left(x1), ty_Integer, x2)
new_esEs8(LT, LT)
new_esEs26(x0, x1, ty_Float)
new_primPlusNat1(Zero, x0)
new_ltEs19(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_compare27(x0, x1, False, x2, x3)
new_lt20(x0, x1, ty_Int)
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs31(x0, x1, ty_@0)
new_compare0(:(x0, x1), [], x2)
new_ltEs19(x0, x1, ty_Float)
new_esEs17(False, False)
new_lt20(x0, x1, ty_Integer)
new_esEs7(Right(x0), Right(x1), x2, ty_Float)
new_esEs31(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Float)
new_lt5(x0, x1, ty_Int)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_compare210(x0, x1, True, x2, x3, x4)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Bool)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, ty_Bool)
new_ltEs6(EQ, EQ)
new_pePe(False, x0)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_compare12(x0, x1, False, x2, x3)
new_esEs7(Left(x0), Left(x1), ty_Char, x2)
new_esEs8(LT, GT)
new_esEs8(GT, LT)
new_ltEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_compare9(Integer(x0), Integer(x1))
new_pePe(True, x0)
new_esEs28(x0, x1, ty_Int)
new_esEs7(Left(x0), Left(x1), ty_Float, x2)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs4(Just(x0), Just(x1), ty_@0)
new_esEs4(Just(x0), Just(x1), ty_Int)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs6(LT, EQ)
new_ltEs20(x0, x1, ty_@0)
new_ltEs6(EQ, LT)
new_compare7(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_primEqNat0(Zero, Zero)
new_ltEs19(x0, x1, ty_Double)
new_esEs7(Right(x0), Right(x1), x2, ty_Int)
new_ltEs8(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs19(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Bool)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Char)
new_compare26(x0, x1, True)
new_esEs12(:(x0, x1), [], x2)
new_compare110(x0, x1, False, x2)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs4(Right(x0), Right(x1), x2, ty_Integer)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_ltEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_compare29(x0, x1, False, x2)
new_esEs4(Just(x0), Just(x1), app(ty_Ratio, x2))
new_lt6(x0, x1, app(ty_Maybe, x2))
new_compare28(@0, @0)
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs28(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Char)
new_primMulNat0(Zero, Zero)
new_esEs28(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, ty_@0)
new_ltEs21(x0, x1, ty_Float)
new_esEs9(x0, x1, ty_Integer)
new_ltEs10(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt20(x0, x1, ty_@0)
new_primCompAux1(x0, x1, x2, x3)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Double)
new_lt6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs19(x0, x1, ty_Int)
new_compare29(x0, x1, True, x2)
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs22(x0, x1, ty_@0)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_esEs31(x0, x1, ty_Integer)
new_ltEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs32(x0, x1, ty_Char)
new_esEs9(x0, x1, ty_Bool)
new_esEs4(Just(x0), Just(x1), ty_Float)
new_lt5(x0, x1, ty_@0)
new_esEs10(x0, x1, ty_Ordering)
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_esEs12([], :(x0, x1), x2)
new_ltEs8(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs7(Left(x0), Left(x1), ty_Double, x2)
new_esEs28(x0, x1, ty_Integer)
new_lt6(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Double)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs8(Nothing, Nothing, x0)
new_esEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs20(x0, x1, ty_@0)
new_esEs25(x0, x1, ty_Int)
new_ltEs20(x0, x1, ty_Int)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, ty_Char)
new_compare24(Left(x0), Right(x1), False, x2, x3)
new_compare24(Right(x0), Left(x1), False, x2, x3)
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs18(x0, x1, ty_Char)
new_esEs21(x0, x1, ty_Integer)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs32(x0, x1, ty_Integer)
new_asAs(False, x0)
new_esEs25(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, ty_Char)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_primMulNat0(Succ(x0), Succ(x1))
new_ltEs4(Right(x0), Right(x1), x2, ty_@0)
new_esEs22(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), ty_Double)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, ty_Ordering)
new_primCmpNat1(x0, Zero)
new_primCmpNat2(Zero, x0)
new_ltEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs11(x0, x1)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_primPlusNat0(Zero, Zero)
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_esEs31(x0, x1, ty_Ordering)
new_esEs12(:(x0, x1), :(x2, x3), x4)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Ordering)
new_lt6(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare13(x0, x1, True)
new_compare12(x0, x1, True, x2, x3)
new_lt6(x0, x1, ty_Float)
new_sr(x0, x1)
new_ltEs8(Just(x0), Just(x1), ty_Int)
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_compare14(x0, x1, False, x2, x3)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_compare7(:%(x0, x1), :%(x2, x3), ty_Int)
new_ltEs4(Left(x0), Left(x1), ty_Int, x2)
new_esEs32(x0, x1, ty_Float)
new_esEs4(Just(x0), Just(x1), ty_Ordering)
new_primMulNat0(Zero, Succ(x0))
new_esEs32(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_compare8(x0, x1)
new_lt12(x0, x1, x2, x3)
new_compare31(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Bool)
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs8(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, ty_Ordering)
new_esEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs5(x0, x1)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, ty_Double)
new_lt15(x0, x1)
new_ltEs20(x0, x1, ty_Ordering)
new_lt6(x0, x1, ty_Int)
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs8(Just(x0), Just(x1), ty_Bool)
new_ltEs4(Left(x0), Left(x1), ty_Integer, x2)
new_primPlusNat0(Succ(x0), Succ(x1))
new_esEs7(Right(x0), Right(x1), x2, ty_Double)
new_lt6(x0, x1, ty_Integer)
new_ltEs8(Just(x0), Just(x1), app(ty_[], x2))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs4(Right(x0), Right(x1), x2, ty_Float)
new_ltEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs4(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_ltEs8(Just(x0), Just(x1), ty_Double)
new_esEs4(Just(x0), Just(x1), app(ty_[], x2))
new_esEs14(Integer(x0), Integer(x1))
new_ltEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs25(x0, x1, ty_Float)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primMulNat0(Succ(x0), Zero)
new_esEs10(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Double)
new_esEs16(Double(x0, x1), Double(x2, x3))
new_compare24(x0, x1, True, x2, x3)
new_compare6(x0, x1)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_compare32(x0, x1, x2)
new_lt5(x0, x1, ty_Bool)
new_lt13(x0, x1)
new_primCompAux0(x0, LT)
new_lt18(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs8(EQ, EQ)
new_compare13(x0, x1, False)
new_primPlusNat0(Zero, Succ(x0))
new_ltEs8(Just(x0), Just(x1), ty_Ordering)
new_ltEs19(x0, x1, ty_Integer)
new_esEs4(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs10(x0, x1, ty_Float)
new_lt17(x0, x1)
new_esEs4(Nothing, Just(x0), x1)
new_esEs22(x0, x1, ty_Int)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_compare19(x0, x1, False, x2, x3)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Char)
new_esEs7(Right(x0), Right(x1), x2, ty_Bool)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_compare24(Left(x0), Left(x1), False, x2, x3)
new_esEs11(x0, x1)
new_lt5(x0, x1, ty_Integer)
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_sr0(Integer(x0), Integer(x1))
new_esEs31(x0, x1, ty_Double)
new_lt6(x0, x1, ty_Bool)
new_esEs9(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Double)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs32(x0, x1, app(ty_Maybe, x2))
new_ltEs12(x0, x1)
new_esEs22(x0, x1, ty_Bool)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, ty_Float)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Integer)
new_ltEs8(Nothing, Just(x0), x1)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs4(Nothing, Nothing, x0)
new_ltEs8(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs20(x0, x1, ty_Float)
new_ltEs4(Left(x0), Left(x1), ty_Float, x2)
new_compare18(x0, x1, x2, x3)
new_ltEs6(GT, GT)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_primMulInt(Neg(x0), Neg(x1))
new_lt5(x0, x1, app(ty_Maybe, x2))
new_esEs8(GT, EQ)
new_esEs8(EQ, GT)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, app(ty_Ratio, x2))
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_lt6(x0, x1, ty_Double)
new_lt6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_compare17(x0, x1, x2, x3, x4)
new_esEs24(x0, x1, ty_Integer)
new_primCmpNat0(Zero, Zero)
new_esEs32(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs10(x0, x1, ty_@0)
new_ltEs6(LT, LT)
new_esEs26(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_@0)
new_esEs28(x0, x1, ty_Ordering)
new_ltEs21(x0, x1, app(ty_[], x2))
new_ltEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs18(x0, x1, app(ty_[], x2))
new_compare111(x0, x1, False, x2, x3, x4)
new_esEs25(x0, x1, ty_Integer)
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_lt16(x0, x1, x2, x3)
new_primCmpNat0(Zero, Succ(x0))
new_ltEs9(x0, x1, x2)
new_esEs7(Right(x0), Right(x1), x2, ty_Integer)
new_esEs22(x0, x1, ty_Char)
new_compare31(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Char)
new_ltEs8(Just(x0), Just(x1), ty_@0)
new_primPlusNat0(Succ(x0), Zero)
new_esEs7(Right(x0), Right(x1), x2, ty_Char)
new_esEs31(x0, x1, ty_Float)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt19(x0, x1, x2, x3, x4)
new_ltEs4(Left(x0), Left(x1), ty_Char, x2)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs22(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_ltEs8(Just(x0), Just(x1), ty_Integer)
new_ltEs21(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Int)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs4(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_compare210(x0, x1, False, x2, x3, x4)
new_lt14(x0, x1)
new_compare25(x0, x1, True)
new_ltEs14(True, True)
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs14(False, False)
new_lt11(x0, x1, x2)
new_compare111(x0, x1, True, x2, x3, x4)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Double)
new_ltEs4(Right(x0), Right(x1), x2, ty_Int)
new_compare19(x0, x1, True, x2, x3)
new_esEs22(x0, x1, ty_Float)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_compare10(Float(x0, x1), Float(x2, x3))
new_esEs24(x0, x1, ty_Int)
new_esEs32(x0, x1, app(app(ty_@2, x2), x3))
new_esEs31(x0, x1, ty_Int)
new_not(True)
new_esEs32(x0, x1, ty_Bool)
new_ltEs8(Just(x0), Just(x1), ty_Float)
new_esEs27(x0, x1, ty_Char)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs21(x0, x1, ty_@0)
new_esEs21(x0, x1, ty_@0)
new_esEs7(Right(x0), Right(x1), x2, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_esEs4(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Double)
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_not(False)
new_compare31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs32(x0, x1, ty_Int)
new_compare31(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt6(x0, x1, ty_Char)
new_ltEs4(Left(x0), Right(x1), x2, x3)
new_lt6(x0, x1, app(ty_Ratio, x2))
new_ltEs4(Right(x0), Left(x1), x2, x3)
new_esEs4(Just(x0), Just(x1), ty_Integer)
new_esEs26(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_@0)
new_compare25(x0, x1, False)
new_esEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs6(EQ, GT)
new_ltEs6(GT, EQ)
new_esEs13(:%(x0, x1), :%(x2, x3), x4)
new_compare31(x0, x1, ty_Integer)
new_ltEs18(x0, x1, ty_Double)
new_esEs7(Left(x0), Left(x1), ty_@0, x2)
new_esEs9(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_@0)
new_ltEs8(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs13(x0, x1)
new_ltEs4(Left(x0), Left(x1), ty_Double, x2)
new_ltEs8(Just(x0), Just(x1), ty_Char)
new_esEs15(Char(x0), Char(x1))
new_compare16(x0, x1)
new_ltEs15(x0, x1)
new_esEs9(x0, x1, ty_Float)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_asAs(True, x0)
new_esEs8(EQ, LT)
new_esEs8(LT, EQ)
new_esEs7(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_compare0([], [], x0)
new_primCompAux0(x0, GT)
new_ltEs18(x0, x1, ty_Ordering)
new_esEs9(x0, x1, ty_Int)
new_lt7(x0, x1)
new_esEs32(x0, x1, ty_@0)
new_ltEs8(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs20(x0, x1, ty_Bool)
new_esEs20(x0, x1, ty_Float)
new_compare31(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_@0)
new_esEs12([], [], x0)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs17(False, True)
new_esEs17(True, False)
new_esEs25(x0, x1, ty_Char)
new_esEs7(Right(x0), Left(x1), x2, x3)
new_esEs7(Left(x0), Right(x1), x2, x3)
new_compare31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs17(True, True)
new_esEs23(x0, x1, ty_Int)
new_compare26(x0, x1, False)
new_esEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_primEqNat0(Zero, Succ(x0))
new_lt5(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpNat2(Succ(x0), x1)
new_esEs10(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_Bool)
new_esEs28(x0, x1, ty_@0)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare0([], :(x0, x1), x2)
new_esEs19(@0, @0)
new_compare11(x0, x1, False)
new_esEs20(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_Int)
new_compare110(x0, x1, True, x2)
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_esEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_compare11(x0, x1, True)
new_ltEs4(Right(x0), Right(x1), x2, ty_Char)
new_primPlusNat1(Succ(x0), x1)
new_esEs9(x0, x1, ty_@0)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ AND
                                        ↳ QDP
                                        ↳ QDP
                                          ↳ UsableRulesProof
QDP
                                              ↳ QReductionProof
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_splitLT10(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba, bb) → new_splitLT(ywz44, ywz500, h, ba, bb)
new_splitLT3(Right(ywz400), ywz41, ywz42, ywz43, ywz44, Left(ywz500), h, ba, bb) → new_splitLT20(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Left(ywz500), Right(ywz400), False, h, ba), LT), h, ba, bb)
new_splitLT3(Left(ywz400), ywz41, ywz42, ywz43, ywz44, Left(ywz500), h, ba, bb) → new_splitLT2(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Left(ywz500), Left(ywz400), new_esEs31(ywz500, ywz400, h), h, ba), LT), h, ba, bb)
new_splitLT2(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, False, bc, bd, be) → new_splitLT1(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, new_esEs8(new_compare18(Left(ywz23), Left(ywz18), bc, bd), GT), bc, bd, be)
new_splitLT20(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba, bb) → new_splitLT10(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare18(Left(ywz500), Right(ywz400), h, ba), GT), h, ba, bb)
new_splitLT20(ywz400, ywz41, ywz42, Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz44, ywz500, True, h, ba, bb) → new_splitLT3(ywz430, ywz431, ywz432, ywz433, ywz434, Left(ywz500), h, ba, bb)
new_splitLT1(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, True, bc, bd, be) → new_splitLT(ywz22, ywz23, bc, bd, be)
new_splitLT2(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, True, bc, bd, be) → new_splitLT(ywz21, ywz23, bc, bd, be)
new_splitLT(Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz500, h, ba, bb) → new_splitLT3(ywz430, ywz431, ywz432, ywz433, ywz434, Left(ywz500), h, ba, bb)

The TRS R consists of the following rules:

new_compare24(Left(ywz500), Right(ywz400), False, h, ba) → LT
new_esEs8(LT, LT) → True
new_esEs8(GT, LT) → False
new_esEs8(EQ, LT) → False
new_compare18(ywz50, ywz40, h, ba) → new_compare24(ywz50, ywz40, new_esEs7(ywz50, ywz40, h, ba), h, ba)
new_esEs8(GT, GT) → True
new_esEs8(LT, GT) → False
new_esEs8(EQ, GT) → False
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Integer, ca) → new_esEs14(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Right(ywz4000), de, ca) → False
new_esEs7(Right(ywz5000), Left(ywz4000), de, ca) → False
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(ty_@2, ea), eb)) → new_esEs5(ywz5000, ywz4000, ea, eb)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Int, ca) → new_esEs11(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_@2, ce), cf), ca) → new_esEs5(ywz5000, ywz4000, ce, cf)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Ordering, ca) → new_esEs8(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(app(ty_@3, ee), ef), eg)) → new_esEs6(ywz5000, ywz4000, ee, ef, eg)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_Ratio, dh)) → new_esEs13(ywz5000, ywz4000, dh)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Ratio, cd), ca) → new_esEs13(ywz5000, ywz4000, cd)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_[], df)) → new_esEs12(ywz5000, ywz4000, df)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_[], cb), ca) → new_esEs12(ywz5000, ywz4000, cb)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Double, ca) → new_esEs16(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Float, ca) → new_esEs18(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, db), dc), dd), ca) → new_esEs6(ywz5000, ywz4000, db, dc, dd)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Bool, ca) → new_esEs17(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_@0, ca) → new_esEs19(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Char, ca) → new_esEs15(ywz5000, ywz4000)
new_compare24(Left(ywz500), Left(ywz400), False, h, ba) → new_compare14(ywz500, ywz400, new_ltEs19(ywz500, ywz400, h), h, ba)
new_compare24(ywz50, ywz40, True, h, ba) → EQ
new_compare24(Right(ywz500), Left(ywz400), False, h, ba) → GT
new_compare24(Right(ywz500), Right(ywz400), False, h, ba) → new_compare12(ywz500, ywz400, new_ltEs20(ywz500, ywz400, ba), h, ba)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cg), da), ca) → new_esEs7(ywz5000, ywz4000, cg, da)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhh), caa)) → new_esEs7(ywz5000, ywz4000, bhh, caa)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bhd)) → new_esEs4(ywz5000, ywz4000, bhd)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(ty_Either, ec), ed)) → new_esEs7(ywz5000, ywz4000, ec, ed)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Maybe, cc), ca) → new_esEs4(ywz5000, ywz4000, cc)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_Maybe, dg)) → new_esEs4(ywz5000, ywz4000, dg)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs4(Nothing, Just(ywz4000), bfe) → False
new_esEs4(Just(ywz5000), Nothing, bfe) → False
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cab), cac), cad)) → new_esEs6(ywz5000, ywz4000, cab, cac, cad)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_[], bhc)) → new_esEs12(ywz5000, ywz4000, bhc)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bhf), bhg)) → new_esEs5(ywz5000, ywz4000, bhf, bhg)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs4(Nothing, Nothing, bfe) → True
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhe)) → new_esEs13(ywz5000, ywz4000, bhe)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs15(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_esEs19(@0, @0) → True
new_esEs11(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs16(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_sr(ywz5000, ywz4000) → new_primMulInt(ywz5000, ywz4000)
new_primMulInt(Pos(ywz50000), Pos(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Neg(ywz50000), Neg(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Pos(ywz50000), Neg(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Neg(ywz50000), Pos(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(ywz500000), Succ(ywz400000)) → new_primPlusNat1(new_primMulNat0(ywz500000, Succ(ywz400000)), ywz400000)
new_primMulNat0(Succ(ywz500000), Zero) → Zero
new_primMulNat0(Zero, Succ(ywz400000)) → Zero
new_primPlusNat1(Zero, ywz400000) → Succ(ywz400000)
new_primPlusNat1(Succ(ywz2480), ywz400000) → Succ(Succ(new_primPlusNat0(ywz2480, ywz400000)))
new_primPlusNat0(Zero, Succ(ywz4000000)) → Succ(ywz4000000)
new_primPlusNat0(Succ(ywz24800), Zero) → Succ(ywz24800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(ywz24800), Succ(ywz4000000)) → Succ(Succ(new_primPlusNat0(ywz24800, ywz4000000)))
new_esEs13(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), bff) → new_asAs(new_esEs24(ywz5000, ywz4000, bff), new_esEs23(ywz5001, ywz4001, bff))
new_esEs24(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs24(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs23(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs23(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_asAs(False, ywz142) → False
new_asAs(True, ywz142) → ywz142
new_esEs14(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_esEs18(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs5(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcg, bch) → new_asAs(new_esEs22(ywz5000, ywz4000, bcg), new_esEs21(ywz5001, ywz4001, bch))
new_esEs22(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_esEs5(ywz5000, ywz4000, bef, beg)
new_esEs22(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_esEs7(ywz5000, ywz4000, beh, bfa)
new_esEs22(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs22(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_esEs4(ywz5000, ywz4000, bed)
new_esEs22(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_esEs13(ywz5000, ywz4000, bee)
new_esEs22(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(ty_[], bec)) → new_esEs12(ywz5000, ywz4000, bec)
new_esEs22(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bdc)) → new_esEs13(ywz5001, ywz4001, bdc)
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bdd), bde)) → new_esEs5(ywz5001, ywz4001, bdd, bde)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_[], bda)) → new_esEs12(ywz5001, ywz4001, bda)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bdf), bdg)) → new_esEs7(ywz5001, ywz4001, bdf, bdg)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bdb)) → new_esEs4(ywz5001, ywz4001, bdb)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bdh), bea), beb)) → new_esEs6(ywz5001, ywz4001, bdh, bea, beb)
new_esEs6(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), eh, fa, fb) → new_asAs(new_esEs27(ywz5000, ywz4000, eh), new_asAs(new_esEs26(ywz5001, ywz4001, fa), new_esEs25(ywz5002, ywz4002, fb)))
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_esEs7(ywz5000, ywz4000, ga, gb)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_esEs13(ywz5000, ywz4000, ff)
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_esEs6(ywz5000, ywz4000, gc, gd, ge)
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_esEs5(ywz5000, ywz4000, fg, fh)
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_esEs4(ywz5000, ywz4000, fd)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_[], fc)) → new_esEs12(ywz5000, ywz4000, fc)
new_esEs26(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_esEs4(ywz5001, ywz4001, gg)
new_esEs26(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_esEs13(ywz5001, ywz4001, gh)
new_esEs26(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_esEs6(ywz5001, ywz4001, he, hf, hg)
new_esEs26(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_esEs7(ywz5001, ywz4001, hc, hd)
new_esEs26(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_esEs5(ywz5001, ywz4001, ha, hb)
new_esEs26(ywz5001, ywz4001, app(ty_[], gf)) → new_esEs12(ywz5001, ywz4001, gf)
new_esEs26(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, ty_Bool) → new_esEs17(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Double) → new_esEs16(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Ordering) → new_esEs8(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(ty_Ratio, bab)) → new_esEs13(ywz5002, ywz4002, bab)
new_esEs25(ywz5002, ywz4002, app(ty_[], hh)) → new_esEs12(ywz5002, ywz4002, hh)
new_esEs25(ywz5002, ywz4002, app(ty_Maybe, baa)) → new_esEs4(ywz5002, ywz4002, baa)
new_esEs25(ywz5002, ywz4002, ty_@0) → new_esEs19(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Float) → new_esEs18(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Integer) → new_esEs14(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(app(app(ty_@3, bag), bah), bba)) → new_esEs6(ywz5002, ywz4002, bag, bah, bba)
new_esEs25(ywz5002, ywz4002, ty_Char) → new_esEs15(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(app(ty_@2, bac), bad)) → new_esEs5(ywz5002, ywz4002, bac, bad)
new_esEs25(ywz5002, ywz4002, ty_Int) → new_esEs11(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(app(ty_Either, bae), baf)) → new_esEs7(ywz5002, ywz4002, bae, baf)
new_esEs12(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bbd) → new_asAs(new_esEs20(ywz5000, ywz4000, bbd), new_esEs12(ywz5001, ywz4001, bbd))
new_esEs12([], [], bbd) → True
new_esEs12(:(ywz5000, ywz5001), [], bbd) → False
new_esEs12([], :(ywz4000, ywz4001), bbd) → False
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bbf)) → new_esEs4(ywz5000, ywz4000, bbf)
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bbg)) → new_esEs13(ywz5000, ywz4000, bbg)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, bbh), bca)) → new_esEs5(ywz5000, ywz4000, bbh, bca)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bcd), bce), bcf)) → new_esEs6(ywz5000, ywz4000, bcd, bce, bcf)
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_[], bbe)) → new_esEs12(ywz5000, ywz4000, bbe)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, bcb), bcc)) → new_esEs7(ywz5000, ywz4000, bcb, bcc)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs8(EQ, EQ) → True
new_esEs8(LT, EQ) → False
new_esEs8(GT, EQ) → False
new_esEs17(True, True) → True
new_esEs17(False, False) → True
new_esEs17(False, True) → False
new_esEs17(True, False) → False
new_ltEs20(ywz500, ywz400, app(ty_Ratio, bga)) → new_ltEs9(ywz500, ywz400, bga)
new_ltEs20(ywz500, ywz400, app(ty_[], bfg)) → new_ltEs7(ywz500, ywz400, bfg)
new_ltEs20(ywz500, ywz400, app(ty_Maybe, bfh)) → new_ltEs8(ywz500, ywz400, bfh)
new_ltEs20(ywz500, ywz400, app(app(ty_Either, bgd), bge)) → new_ltEs4(ywz500, ywz400, bgd, bge)
new_ltEs20(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, app(app(app(ty_@3, bgf), bgg), bgh)) → new_ltEs17(ywz500, ywz400, bgf, bgg, bgh)
new_ltEs20(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, app(app(ty_@2, bgb), bgc)) → new_ltEs10(ywz500, ywz400, bgb, bgc)
new_compare12(ywz154, ywz155, False, bbb, bbc) → GT
new_compare12(ywz154, ywz155, True, bbb, bbc) → LT
new_ltEs10(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcg, bch) → new_pePe(new_lt20(ywz5000, ywz4000, bcg), new_asAs(new_esEs28(ywz5000, ywz4000, bcg), new_ltEs21(ywz5001, ywz4001, bch)))
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(ty_[], bec)) → new_lt9(ywz5000, ywz4000, bec)
new_lt20(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_lt11(ywz5000, ywz4000, bee)
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_lt16(ywz5000, ywz4000, beh, bfa)
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_lt12(ywz5000, ywz4000, bef, beg)
new_lt20(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_lt10(ywz5000, ywz4000, bed)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_lt19(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs28(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_esEs4(ywz5000, ywz4000, bed)
new_esEs28(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_esEs7(ywz5000, ywz4000, beh, bfa)
new_esEs28(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_esEs5(ywz5000, ywz4000, bef, beg)
new_esEs28(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs28(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_esEs13(ywz5000, ywz4000, bee)
new_esEs28(ywz5000, ywz4000, app(ty_[], bec)) → new_esEs12(ywz5000, ywz4000, bec)
new_esEs28(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, app(app(app(ty_@3, bdh), bea), beb)) → new_ltEs17(ywz5001, ywz4001, bdh, bea, beb)
new_ltEs21(ywz5001, ywz4001, ty_Int) → new_ltEs5(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Double) → new_ltEs13(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, app(ty_[], bda)) → new_ltEs7(ywz5001, ywz4001, bda)
new_ltEs21(ywz5001, ywz4001, app(app(ty_Either, bdf), bdg)) → new_ltEs4(ywz5001, ywz4001, bdf, bdg)
new_ltEs21(ywz5001, ywz4001, ty_Char) → new_ltEs12(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, app(ty_Ratio, bdc)) → new_ltEs9(ywz5001, ywz4001, bdc)
new_ltEs21(ywz5001, ywz4001, app(ty_Maybe, bdb)) → new_ltEs8(ywz5001, ywz4001, bdb)
new_ltEs21(ywz5001, ywz4001, ty_@0) → new_ltEs16(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Integer) → new_ltEs11(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Bool) → new_ltEs14(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, app(app(ty_@2, bdd), bde)) → new_ltEs10(ywz5001, ywz4001, bdd, bde)
new_ltEs21(ywz5001, ywz4001, ty_Ordering) → new_ltEs6(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Float) → new_ltEs15(ywz5001, ywz4001)
new_pePe(False, ywz225) → ywz225
new_pePe(True, ywz225) → True
new_ltEs15(ywz500, ywz400) → new_not(new_esEs8(new_compare10(ywz500, ywz400), GT))
new_compare10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_not(False) → True
new_not(True) → False
new_compare8(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat1(ywz50000, ywz4000)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat2(ywz4000, ywz50000)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat2(Zero, ywz40000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat1(ywz40000, Zero)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_primCmpNat1(ywz50000, Zero) → GT
new_primCmpNat2(Zero, ywz50000) → LT
new_primCmpNat2(Succ(ywz40000), ywz50000) → new_primCmpNat0(ywz40000, ywz50000)
new_primCmpNat0(Zero, Succ(ywz400000)) → LT
new_primCmpNat0(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat0(ywz500000, ywz400000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(ywz500000), Zero) → GT
new_primCmpNat1(ywz50000, Succ(ywz40000)) → new_primCmpNat0(ywz50000, ywz40000)
new_ltEs6(GT, EQ) → False
new_ltEs6(EQ, GT) → True
new_ltEs6(EQ, EQ) → True
new_ltEs6(GT, GT) → True
new_ltEs6(LT, LT) → True
new_ltEs6(EQ, LT) → False
new_ltEs6(LT, GT) → True
new_ltEs6(LT, EQ) → True
new_ltEs6(GT, LT) → False
new_ltEs14(False, True) → True
new_ltEs14(False, False) → True
new_ltEs14(True, True) → True
new_ltEs14(True, False) → False
new_ltEs11(ywz500, ywz400) → new_not(new_esEs8(new_compare9(ywz500, ywz400), GT))
new_compare9(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_ltEs16(ywz500, ywz400) → new_not(new_esEs8(new_compare28(ywz500, ywz400), GT))
new_compare28(@0, @0) → EQ
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhe)) → new_ltEs9(ywz5000, ywz4000, bhe)
new_ltEs8(Nothing, Just(ywz4000), bfe) → True
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_[], bhc)) → new_ltEs7(ywz5000, ywz4000, bhc)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cab), cac), cad)) → new_ltEs17(ywz5000, ywz4000, cab, cac, cad)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Nothing, bfe) → False
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, cc), ca) → new_ltEs8(ywz5000, ywz4000, cc)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bhd)) → new_ltEs8(ywz5000, ywz4000, bhd)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(ty_Either, ec), ed)) → new_ltEs4(ywz5000, ywz4000, ec, ed)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cg), da), ca) → new_ltEs4(ywz5000, ywz4000, cg, da)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_Maybe, dg)) → new_ltEs8(ywz5000, ywz4000, dg)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhh), caa)) → new_ltEs4(ywz5000, ywz4000, bhh, caa)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_ltEs8(Nothing, Nothing, bfe) → True
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bhf), bhg)) → new_ltEs10(ywz5000, ywz4000, bhf, bhg)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_ltEs12(ywz500, ywz400) → new_not(new_esEs8(new_compare5(ywz500, ywz400), GT))
new_compare5(Char(ywz5000), Char(ywz4000)) → new_primCmpNat0(ywz5000, ywz4000)
new_ltEs5(ywz500, ywz400) → new_not(new_esEs8(new_compare8(ywz500, ywz400), GT))
new_ltEs13(ywz500, ywz400) → new_not(new_esEs8(new_compare15(ywz500, ywz400), GT))
new_compare15(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Int, ca) → new_ltEs5(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Double, ca) → new_ltEs13(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, ce), cf), ca) → new_ltEs10(ywz5000, ywz4000, ce, cf)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Char, ca) → new_ltEs12(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, db), dc), dd), ca) → new_ltEs17(ywz5000, ywz4000, db, dc, dd)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, ca) → new_ltEs6(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Right(ywz4000), de, ca) → True
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Bool, ca) → new_ltEs14(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, cd), ca) → new_ltEs9(ywz5000, ywz4000, cd)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_@0, ca) → new_ltEs16(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(app(ty_@3, ee), ef), eg)) → new_ltEs17(ywz5000, ywz4000, ee, ef, eg)
new_ltEs4(Right(ywz5000), Left(ywz4000), de, ca) → False
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_Ratio, dh)) → new_ltEs9(ywz5000, ywz4000, dh)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(ty_@2, ea), eb)) → new_ltEs10(ywz5000, ywz4000, ea, eb)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Float, ca) → new_ltEs15(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_[], cb), ca) → new_ltEs7(ywz5000, ywz4000, cb)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_[], df)) → new_ltEs7(ywz5000, ywz4000, df)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Integer, ca) → new_ltEs11(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, bbd) → new_not(new_esEs8(new_compare0(ywz500, ywz400, bbd), GT))
new_compare0([], [], bbd) → EQ
new_compare0(:(ywz5000, ywz5001), [], bbd) → GT
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bbd) → new_primCompAux1(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, bbd), bbd)
new_compare0([], :(ywz4000, ywz4001), bbd) → LT
new_primCompAux1(ywz5000, ywz4000, ywz290, bbd) → new_primCompAux0(ywz290, new_compare31(ywz5000, ywz4000, bbd))
new_compare31(ywz5000, ywz4000, ty_Double) → new_compare15(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Int) → new_compare8(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Ordering) → new_compare16(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(app(ty_Either, bcb), bcc)) → new_compare18(ywz5000, ywz4000, bcb, bcc)
new_compare31(ywz5000, ywz4000, ty_@0) → new_compare28(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_Maybe, bbf)) → new_compare32(ywz5000, ywz4000, bbf)
new_compare31(ywz5000, ywz4000, app(app(app(ty_@3, bcd), bce), bcf)) → new_compare17(ywz5000, ywz4000, bcd, bce, bcf)
new_compare31(ywz5000, ywz4000, ty_Bool) → new_compare6(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(app(ty_@2, bbh), bca)) → new_compare30(ywz5000, ywz4000, bbh, bca)
new_compare31(ywz5000, ywz4000, ty_Integer) → new_compare9(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_Ratio, bbg)) → new_compare7(ywz5000, ywz4000, bbg)
new_compare31(ywz5000, ywz4000, ty_Char) → new_compare5(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_[], bbe)) → new_compare0(ywz5000, ywz4000, bbe)
new_compare31(ywz5000, ywz4000, ty_Float) → new_compare10(ywz5000, ywz4000)
new_primCompAux0(ywz333, GT) → GT
new_primCompAux0(ywz333, LT) → LT
new_primCompAux0(ywz333, EQ) → ywz333
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare8(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare9(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_sr0(Integer(ywz50000), Integer(ywz40010)) → Integer(new_primMulInt(ywz50000, ywz40010))
new_compare30(ywz5000, ywz4000, bef, beg) → new_compare27(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bef, beg), bef, beg)
new_compare27(ywz5000, ywz4000, True, bef, beg) → EQ
new_compare27(ywz5000, ywz4000, False, bef, beg) → new_compare19(ywz5000, ywz4000, new_ltEs10(ywz5000, ywz4000, bef, beg), bef, beg)
new_compare19(ywz5000, ywz4000, True, bef, beg) → LT
new_compare19(ywz5000, ywz4000, False, bef, beg) → GT
new_compare6(ywz5000, ywz4000) → new_compare25(ywz5000, ywz4000, new_esEs17(ywz5000, ywz4000))
new_compare25(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs14(ywz5000, ywz4000))
new_compare25(ywz5000, ywz4000, True) → EQ
new_compare11(ywz5000, ywz4000, False) → GT
new_compare11(ywz5000, ywz4000, True) → LT
new_compare17(ywz5000, ywz4000, bfb, bfc, bfd) → new_compare210(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd), bfb, bfc, bfd)
new_compare210(ywz5000, ywz4000, True, bfb, bfc, bfd) → EQ
new_compare210(ywz5000, ywz4000, False, bfb, bfc, bfd) → new_compare111(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000, bfb, bfc, bfd), bfb, bfc, bfd)
new_ltEs17(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), eh, fa, fb) → new_pePe(new_lt5(ywz5000, ywz4000, eh), new_asAs(new_esEs10(ywz5000, ywz4000, eh), new_pePe(new_lt6(ywz5001, ywz4001, fa), new_asAs(new_esEs9(ywz5001, ywz4001, fa), new_ltEs18(ywz5002, ywz4002, fb)))))
new_compare111(ywz5000, ywz4000, True, bfb, bfc, bfd) → LT
new_compare111(ywz5000, ywz4000, False, bfb, bfc, bfd) → GT
new_lt5(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_lt19(ywz5000, ywz4000, gc, gd, ge)
new_lt5(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_lt16(ywz5000, ywz4000, ga, gb)
new_lt5(ywz5000, ywz4000, app(ty_[], fc)) → new_lt9(ywz5000, ywz4000, fc)
new_lt5(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_lt11(ywz5000, ywz4000, ff)
new_lt5(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_lt12(ywz5000, ywz4000, fg, fh)
new_lt5(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_lt10(ywz5000, ywz4000, fd)
new_lt5(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(ty_[], fc)) → new_esEs12(ywz5000, ywz4000, fc)
new_esEs10(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_esEs7(ywz5000, ywz4000, ga, gb)
new_esEs10(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_esEs5(ywz5000, ywz4000, fg, fh)
new_esEs10(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_esEs6(ywz5000, ywz4000, gc, gd, ge)
new_esEs10(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_esEs13(ywz5000, ywz4000, ff)
new_esEs10(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_esEs4(ywz5000, ywz4000, fd)
new_esEs10(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, ty_Bool) → new_lt4(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, ty_Char) → new_lt14(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, ty_Ordering) → new_lt8(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_lt11(ywz5001, ywz4001, gh)
new_lt6(ywz5001, ywz4001, ty_Float) → new_lt17(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, ty_Double) → new_lt15(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(ty_[], gf)) → new_lt9(ywz5001, ywz4001, gf)
new_lt6(ywz5001, ywz4001, ty_Integer) → new_lt13(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_lt19(ywz5001, ywz4001, he, hf, hg)
new_lt6(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_lt10(ywz5001, ywz4001, gg)
new_lt6(ywz5001, ywz4001, ty_Int) → new_lt7(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_lt16(ywz5001, ywz4001, hc, hd)
new_lt6(ywz5001, ywz4001, ty_@0) → new_lt18(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_lt12(ywz5001, ywz4001, ha, hb)
new_esEs9(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(ty_[], gf)) → new_esEs12(ywz5001, ywz4001, gf)
new_esEs9(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_esEs13(ywz5001, ywz4001, gh)
new_esEs9(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_esEs5(ywz5001, ywz4001, ha, hb)
new_esEs9(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_esEs4(ywz5001, ywz4001, gg)
new_esEs9(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_esEs6(ywz5001, ywz4001, he, hf, hg)
new_esEs9(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_esEs7(ywz5001, ywz4001, hc, hd)
new_ltEs18(ywz5002, ywz4002, ty_Float) → new_ltEs15(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(ty_Ratio, bab)) → new_ltEs9(ywz5002, ywz4002, bab)
new_ltEs18(ywz5002, ywz4002, app(ty_[], hh)) → new_ltEs7(ywz5002, ywz4002, hh)
new_ltEs18(ywz5002, ywz4002, ty_Double) → new_ltEs13(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Int) → new_ltEs5(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Ordering) → new_ltEs6(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(app(ty_@2, bac), bad)) → new_ltEs10(ywz5002, ywz4002, bac, bad)
new_ltEs18(ywz5002, ywz4002, ty_@0) → new_ltEs16(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Integer) → new_ltEs11(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(app(ty_Either, bae), baf)) → new_ltEs4(ywz5002, ywz4002, bae, baf)
new_ltEs18(ywz5002, ywz4002, app(app(app(ty_@3, bag), bah), bba)) → new_ltEs17(ywz5002, ywz4002, bag, bah, bba)
new_ltEs18(ywz5002, ywz4002, ty_Bool) → new_ltEs14(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Char) → new_ltEs12(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(ty_Maybe, baa)) → new_ltEs8(ywz5002, ywz4002, baa)
new_ltEs9(ywz500, ywz400, bff) → new_not(new_esEs8(new_compare7(ywz500, ywz400, bff), GT))
new_lt12(ywz5000, ywz4000, bef, beg) → new_esEs8(new_compare30(ywz5000, ywz4000, bef, beg), LT)
new_lt18(ywz5000, ywz4000) → new_esEs8(new_compare28(ywz5000, ywz4000), LT)
new_lt16(ywz50, ywz40, h, ba) → new_esEs8(new_compare18(ywz50, ywz40, h, ba), LT)
new_lt7(ywz5000, ywz4000) → new_esEs8(new_compare8(ywz5000, ywz4000), LT)
new_lt10(ywz5000, ywz4000, bed) → new_esEs8(new_compare32(ywz5000, ywz4000, bed), LT)
new_compare32(ywz5000, ywz4000, bed) → new_compare29(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, bed), bed)
new_compare29(ywz5000, ywz4000, False, bed) → new_compare110(ywz5000, ywz4000, new_ltEs8(ywz5000, ywz4000, bed), bed)
new_compare29(ywz5000, ywz4000, True, bed) → EQ
new_compare110(ywz5000, ywz4000, True, bed) → LT
new_compare110(ywz5000, ywz4000, False, bed) → GT
new_lt19(ywz5000, ywz4000, bfb, bfc, bfd) → new_esEs8(new_compare17(ywz5000, ywz4000, bfb, bfc, bfd), LT)
new_lt13(ywz5000, ywz4000) → new_esEs8(new_compare9(ywz5000, ywz4000), LT)
new_lt9(ywz5000, ywz4000, bec) → new_esEs8(new_compare0(ywz5000, ywz4000, bec), LT)
new_lt15(ywz5000, ywz4000) → new_esEs8(new_compare15(ywz5000, ywz4000), LT)
new_lt17(ywz5000, ywz4000) → new_esEs8(new_compare10(ywz5000, ywz4000), LT)
new_lt11(ywz5000, ywz4000, bee) → new_esEs8(new_compare7(ywz5000, ywz4000, bee), LT)
new_lt8(ywz5000, ywz4000) → new_esEs8(new_compare16(ywz5000, ywz4000), LT)
new_compare16(ywz5000, ywz4000) → new_compare26(ywz5000, ywz4000, new_esEs8(ywz5000, ywz4000))
new_compare26(ywz5000, ywz4000, False) → new_compare13(ywz5000, ywz4000, new_ltEs6(ywz5000, ywz4000))
new_compare26(ywz5000, ywz4000, True) → EQ
new_compare13(ywz5000, ywz4000, False) → GT
new_compare13(ywz5000, ywz4000, True) → LT
new_lt14(ywz5000, ywz4000) → new_esEs8(new_compare5(ywz5000, ywz4000), LT)
new_lt4(ywz5000, ywz4000) → new_esEs8(new_compare6(ywz5000, ywz4000), LT)
new_ltEs19(ywz500, ywz400, app(app(ty_Either, de), ca)) → new_ltEs4(ywz500, ywz400, de, ca)
new_ltEs19(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(app(ty_@2, bcg), bch)) → new_ltEs10(ywz500, ywz400, bcg, bch)
new_ltEs19(ywz500, ywz400, app(ty_Ratio, bff)) → new_ltEs9(ywz500, ywz400, bff)
new_ltEs19(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(ty_Maybe, bfe)) → new_ltEs8(ywz500, ywz400, bfe)
new_ltEs19(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(ty_[], bbd)) → new_ltEs7(ywz500, ywz400, bbd)
new_ltEs19(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(app(app(ty_@3, eh), fa), fb)) → new_ltEs17(ywz500, ywz400, eh, fa, fb)
new_ltEs19(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_compare14(ywz147, ywz148, False, bha, bhb) → GT
new_compare14(ywz147, ywz148, True, bha, bhb) → LT
new_esEs31(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_esEs31(ywz500, ywz400, app(ty_[], bbd)) → new_esEs12(ywz500, ywz400, bbd)
new_esEs31(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_esEs31(ywz500, ywz400, app(app(ty_Either, de), ca)) → new_esEs7(ywz500, ywz400, de, ca)
new_esEs31(ywz500, ywz400, ty_Float) → new_esEs18(ywz500, ywz400)
new_esEs31(ywz500, ywz400, app(app(app(ty_@3, eh), fa), fb)) → new_esEs6(ywz500, ywz400, eh, fa, fb)
new_esEs31(ywz500, ywz400, ty_Bool) → new_esEs17(ywz500, ywz400)
new_esEs31(ywz500, ywz400, app(app(ty_@2, bcg), bch)) → new_esEs5(ywz500, ywz400, bcg, bch)
new_esEs31(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_esEs31(ywz500, ywz400, ty_Double) → new_esEs16(ywz500, ywz400)
new_esEs31(ywz500, ywz400, ty_@0) → new_esEs19(ywz500, ywz400)
new_esEs31(ywz500, ywz400, app(ty_Maybe, bfe)) → new_esEs4(ywz500, ywz400, bfe)
new_esEs31(ywz500, ywz400, app(ty_Ratio, bff)) → new_esEs13(ywz500, ywz400, bff)
new_esEs31(ywz500, ywz400, ty_Int) → new_esEs11(ywz500, ywz400)

The set Q consists of the following terms:

new_esEs7(Left(x0), Left(x1), ty_Int, x2)
new_esEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs21(x0, x1, ty_Int)
new_compare24(Right(x0), Right(x1), False, x2, x3)
new_esEs18(Float(x0, x1), Float(x2, x3))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs16(x0, x1)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_primCmpNat1(x0, Succ(x1))
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(x0, x1, ty_Double)
new_lt6(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Double)
new_compare27(x0, x1, True, x2, x3)
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Int)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt9(x0, x1, x2)
new_esEs31(x0, x1, app(ty_[], x2))
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_ltEs21(x0, x1, ty_Ordering)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_primCompAux0(x0, EQ)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, ty_Bool)
new_esEs32(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Bool)
new_esEs31(x0, x1, ty_Bool)
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, ty_Ordering)
new_compare15(Double(x0, x1), Double(x2, x3))
new_esEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_lt6(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_primCmpNat0(Succ(x0), Zero)
new_esEs26(x0, x1, app(ty_[], x2))
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_esEs32(x0, x1, app(ty_Ratio, x2))
new_lt4(x0, x1)
new_ltEs21(x0, x1, ty_Double)
new_lt10(x0, x1, x2)
new_compare5(Char(x0), Char(x1))
new_ltEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs14(True, False)
new_ltEs14(False, True)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs20(x0, x1, ty_Ordering)
new_lt8(x0, x1)
new_esEs8(GT, GT)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(x0, x1, x2)
new_esEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs32(x0, x1, ty_Double)
new_lt20(x0, x1, app(ty_[], x2))
new_compare14(x0, x1, True, x2, x3)
new_compare30(x0, x1, x2, x3)
new_esEs26(x0, x1, ty_Int)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_Integer)
new_esEs7(Left(x0), Left(x1), ty_Integer, x2)
new_esEs8(LT, LT)
new_esEs26(x0, x1, ty_Float)
new_primPlusNat1(Zero, x0)
new_ltEs19(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_compare27(x0, x1, False, x2, x3)
new_lt20(x0, x1, ty_Int)
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs31(x0, x1, ty_@0)
new_compare0(:(x0, x1), [], x2)
new_ltEs19(x0, x1, ty_Float)
new_esEs17(False, False)
new_lt20(x0, x1, ty_Integer)
new_esEs7(Right(x0), Right(x1), x2, ty_Float)
new_esEs31(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Float)
new_lt5(x0, x1, ty_Int)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_compare210(x0, x1, True, x2, x3, x4)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Bool)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, ty_Bool)
new_ltEs6(EQ, EQ)
new_pePe(False, x0)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_compare12(x0, x1, False, x2, x3)
new_esEs7(Left(x0), Left(x1), ty_Char, x2)
new_esEs8(LT, GT)
new_esEs8(GT, LT)
new_ltEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_compare9(Integer(x0), Integer(x1))
new_pePe(True, x0)
new_esEs28(x0, x1, ty_Int)
new_esEs7(Left(x0), Left(x1), ty_Float, x2)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs4(Just(x0), Just(x1), ty_@0)
new_esEs4(Just(x0), Just(x1), ty_Int)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs6(LT, EQ)
new_ltEs20(x0, x1, ty_@0)
new_ltEs6(EQ, LT)
new_compare7(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_primEqNat0(Zero, Zero)
new_ltEs19(x0, x1, ty_Double)
new_esEs7(Right(x0), Right(x1), x2, ty_Int)
new_ltEs8(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs19(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Bool)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Char)
new_compare26(x0, x1, True)
new_esEs12(:(x0, x1), [], x2)
new_compare110(x0, x1, False, x2)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs4(Right(x0), Right(x1), x2, ty_Integer)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_ltEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_compare29(x0, x1, False, x2)
new_esEs4(Just(x0), Just(x1), app(ty_Ratio, x2))
new_lt6(x0, x1, app(ty_Maybe, x2))
new_compare28(@0, @0)
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs28(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Char)
new_primMulNat0(Zero, Zero)
new_esEs28(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, ty_@0)
new_ltEs21(x0, x1, ty_Float)
new_esEs9(x0, x1, ty_Integer)
new_ltEs10(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt20(x0, x1, ty_@0)
new_primCompAux1(x0, x1, x2, x3)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Double)
new_lt6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs19(x0, x1, ty_Int)
new_compare29(x0, x1, True, x2)
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs22(x0, x1, ty_@0)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_esEs31(x0, x1, ty_Integer)
new_ltEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs32(x0, x1, ty_Char)
new_esEs9(x0, x1, ty_Bool)
new_esEs4(Just(x0), Just(x1), ty_Float)
new_lt5(x0, x1, ty_@0)
new_esEs10(x0, x1, ty_Ordering)
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_esEs12([], :(x0, x1), x2)
new_ltEs8(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs7(Left(x0), Left(x1), ty_Double, x2)
new_esEs28(x0, x1, ty_Integer)
new_lt6(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Double)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs8(Nothing, Nothing, x0)
new_esEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs20(x0, x1, ty_@0)
new_esEs25(x0, x1, ty_Int)
new_ltEs20(x0, x1, ty_Int)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, ty_Char)
new_compare24(Left(x0), Right(x1), False, x2, x3)
new_compare24(Right(x0), Left(x1), False, x2, x3)
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs18(x0, x1, ty_Char)
new_esEs21(x0, x1, ty_Integer)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs32(x0, x1, ty_Integer)
new_asAs(False, x0)
new_esEs25(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, ty_Char)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_primMulNat0(Succ(x0), Succ(x1))
new_ltEs4(Right(x0), Right(x1), x2, ty_@0)
new_esEs22(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), ty_Double)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, ty_Ordering)
new_primCmpNat1(x0, Zero)
new_primCmpNat2(Zero, x0)
new_ltEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs11(x0, x1)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_primPlusNat0(Zero, Zero)
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_esEs31(x0, x1, ty_Ordering)
new_esEs12(:(x0, x1), :(x2, x3), x4)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Ordering)
new_lt6(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare13(x0, x1, True)
new_compare12(x0, x1, True, x2, x3)
new_lt6(x0, x1, ty_Float)
new_sr(x0, x1)
new_ltEs8(Just(x0), Just(x1), ty_Int)
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_compare14(x0, x1, False, x2, x3)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_compare7(:%(x0, x1), :%(x2, x3), ty_Int)
new_ltEs4(Left(x0), Left(x1), ty_Int, x2)
new_esEs32(x0, x1, ty_Float)
new_esEs4(Just(x0), Just(x1), ty_Ordering)
new_primMulNat0(Zero, Succ(x0))
new_esEs32(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_compare8(x0, x1)
new_lt12(x0, x1, x2, x3)
new_compare31(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Bool)
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs8(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, ty_Ordering)
new_esEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs5(x0, x1)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, ty_Double)
new_lt15(x0, x1)
new_ltEs20(x0, x1, ty_Ordering)
new_lt6(x0, x1, ty_Int)
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs8(Just(x0), Just(x1), ty_Bool)
new_ltEs4(Left(x0), Left(x1), ty_Integer, x2)
new_primPlusNat0(Succ(x0), Succ(x1))
new_esEs7(Right(x0), Right(x1), x2, ty_Double)
new_lt6(x0, x1, ty_Integer)
new_ltEs8(Just(x0), Just(x1), app(ty_[], x2))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs4(Right(x0), Right(x1), x2, ty_Float)
new_ltEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs4(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_ltEs8(Just(x0), Just(x1), ty_Double)
new_esEs4(Just(x0), Just(x1), app(ty_[], x2))
new_esEs14(Integer(x0), Integer(x1))
new_ltEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs25(x0, x1, ty_Float)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primMulNat0(Succ(x0), Zero)
new_esEs10(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Double)
new_esEs16(Double(x0, x1), Double(x2, x3))
new_compare24(x0, x1, True, x2, x3)
new_compare6(x0, x1)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_compare32(x0, x1, x2)
new_lt5(x0, x1, ty_Bool)
new_lt13(x0, x1)
new_primCompAux0(x0, LT)
new_lt18(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs8(EQ, EQ)
new_compare13(x0, x1, False)
new_primPlusNat0(Zero, Succ(x0))
new_ltEs8(Just(x0), Just(x1), ty_Ordering)
new_ltEs19(x0, x1, ty_Integer)
new_esEs4(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs10(x0, x1, ty_Float)
new_lt17(x0, x1)
new_esEs4(Nothing, Just(x0), x1)
new_esEs22(x0, x1, ty_Int)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_compare19(x0, x1, False, x2, x3)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Char)
new_esEs7(Right(x0), Right(x1), x2, ty_Bool)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_compare24(Left(x0), Left(x1), False, x2, x3)
new_esEs11(x0, x1)
new_lt5(x0, x1, ty_Integer)
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_sr0(Integer(x0), Integer(x1))
new_esEs31(x0, x1, ty_Double)
new_lt6(x0, x1, ty_Bool)
new_esEs9(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Double)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs32(x0, x1, app(ty_Maybe, x2))
new_ltEs12(x0, x1)
new_esEs22(x0, x1, ty_Bool)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, ty_Float)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Integer)
new_ltEs8(Nothing, Just(x0), x1)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs4(Nothing, Nothing, x0)
new_ltEs8(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs20(x0, x1, ty_Float)
new_ltEs4(Left(x0), Left(x1), ty_Float, x2)
new_compare18(x0, x1, x2, x3)
new_ltEs6(GT, GT)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_primMulInt(Neg(x0), Neg(x1))
new_lt5(x0, x1, app(ty_Maybe, x2))
new_esEs8(GT, EQ)
new_esEs8(EQ, GT)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, app(ty_Ratio, x2))
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_lt6(x0, x1, ty_Double)
new_lt6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_compare17(x0, x1, x2, x3, x4)
new_esEs24(x0, x1, ty_Integer)
new_primCmpNat0(Zero, Zero)
new_esEs32(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs10(x0, x1, ty_@0)
new_ltEs6(LT, LT)
new_esEs26(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_@0)
new_esEs28(x0, x1, ty_Ordering)
new_ltEs21(x0, x1, app(ty_[], x2))
new_ltEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs18(x0, x1, app(ty_[], x2))
new_compare111(x0, x1, False, x2, x3, x4)
new_esEs25(x0, x1, ty_Integer)
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_lt16(x0, x1, x2, x3)
new_primCmpNat0(Zero, Succ(x0))
new_ltEs9(x0, x1, x2)
new_esEs7(Right(x0), Right(x1), x2, ty_Integer)
new_esEs22(x0, x1, ty_Char)
new_compare31(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Char)
new_ltEs8(Just(x0), Just(x1), ty_@0)
new_primPlusNat0(Succ(x0), Zero)
new_esEs7(Right(x0), Right(x1), x2, ty_Char)
new_esEs31(x0, x1, ty_Float)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt19(x0, x1, x2, x3, x4)
new_ltEs4(Left(x0), Left(x1), ty_Char, x2)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs22(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_ltEs8(Just(x0), Just(x1), ty_Integer)
new_ltEs21(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Int)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs4(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_compare210(x0, x1, False, x2, x3, x4)
new_lt14(x0, x1)
new_compare25(x0, x1, True)
new_ltEs14(True, True)
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs14(False, False)
new_lt11(x0, x1, x2)
new_compare111(x0, x1, True, x2, x3, x4)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Double)
new_ltEs4(Right(x0), Right(x1), x2, ty_Int)
new_compare19(x0, x1, True, x2, x3)
new_esEs22(x0, x1, ty_Float)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_compare10(Float(x0, x1), Float(x2, x3))
new_esEs24(x0, x1, ty_Int)
new_esEs32(x0, x1, app(app(ty_@2, x2), x3))
new_esEs31(x0, x1, ty_Int)
new_not(True)
new_esEs32(x0, x1, ty_Bool)
new_ltEs8(Just(x0), Just(x1), ty_Float)
new_esEs27(x0, x1, ty_Char)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs21(x0, x1, ty_@0)
new_esEs21(x0, x1, ty_@0)
new_esEs7(Right(x0), Right(x1), x2, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_esEs4(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Double)
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_not(False)
new_compare31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs32(x0, x1, ty_Int)
new_compare31(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt6(x0, x1, ty_Char)
new_ltEs4(Left(x0), Right(x1), x2, x3)
new_lt6(x0, x1, app(ty_Ratio, x2))
new_ltEs4(Right(x0), Left(x1), x2, x3)
new_esEs4(Just(x0), Just(x1), ty_Integer)
new_esEs26(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_@0)
new_compare25(x0, x1, False)
new_esEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs6(EQ, GT)
new_ltEs6(GT, EQ)
new_esEs13(:%(x0, x1), :%(x2, x3), x4)
new_compare31(x0, x1, ty_Integer)
new_ltEs18(x0, x1, ty_Double)
new_esEs7(Left(x0), Left(x1), ty_@0, x2)
new_esEs9(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_@0)
new_ltEs8(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs13(x0, x1)
new_ltEs4(Left(x0), Left(x1), ty_Double, x2)
new_ltEs8(Just(x0), Just(x1), ty_Char)
new_esEs15(Char(x0), Char(x1))
new_compare16(x0, x1)
new_ltEs15(x0, x1)
new_esEs9(x0, x1, ty_Float)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_asAs(True, x0)
new_esEs8(EQ, LT)
new_esEs8(LT, EQ)
new_esEs7(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_compare0([], [], x0)
new_primCompAux0(x0, GT)
new_ltEs18(x0, x1, ty_Ordering)
new_esEs9(x0, x1, ty_Int)
new_lt7(x0, x1)
new_esEs32(x0, x1, ty_@0)
new_ltEs8(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs20(x0, x1, ty_Bool)
new_esEs20(x0, x1, ty_Float)
new_compare31(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_@0)
new_esEs12([], [], x0)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs17(False, True)
new_esEs17(True, False)
new_esEs25(x0, x1, ty_Char)
new_esEs7(Right(x0), Left(x1), x2, x3)
new_esEs7(Left(x0), Right(x1), x2, x3)
new_compare31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs17(True, True)
new_esEs23(x0, x1, ty_Int)
new_compare26(x0, x1, False)
new_esEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_primEqNat0(Zero, Succ(x0))
new_lt5(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpNat2(Succ(x0), x1)
new_esEs10(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_Bool)
new_esEs28(x0, x1, ty_@0)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare0([], :(x0, x1), x2)
new_esEs19(@0, @0)
new_compare11(x0, x1, False)
new_esEs20(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_Int)
new_compare110(x0, x1, True, x2)
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_esEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_compare11(x0, x1, True)
new_ltEs4(Right(x0), Right(x1), x2, ty_Char)
new_primPlusNat1(Succ(x0), x1)
new_esEs9(x0, x1, ty_@0)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

new_esEs32(x0, x1, app(ty_[], x2))
new_esEs32(x0, x1, app(ty_Ratio, x2))
new_esEs32(x0, x1, ty_Double)
new_esEs32(x0, x1, ty_Char)
new_esEs32(x0, x1, ty_Integer)
new_esEs32(x0, x1, ty_Float)
new_esEs32(x0, x1, ty_Ordering)
new_esEs32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs32(x0, x1, app(ty_Maybe, x2))
new_esEs32(x0, x1, app(app(ty_Either, x2), x3))
new_esEs32(x0, x1, app(app(ty_@2, x2), x3))
new_esEs32(x0, x1, ty_Bool)
new_esEs32(x0, x1, ty_Int)
new_esEs32(x0, x1, ty_@0)



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ AND
                                        ↳ QDP
                                        ↳ QDP
                                          ↳ UsableRulesProof
                                            ↳ QDP
                                              ↳ QReductionProof
QDP
                                                  ↳ QDPSizeChangeProof
                                  ↳ QDP
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_splitLT3(Right(ywz400), ywz41, ywz42, ywz43, ywz44, Left(ywz500), h, ba, bb) → new_splitLT20(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Left(ywz500), Right(ywz400), False, h, ba), LT), h, ba, bb)
new_splitLT10(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba, bb) → new_splitLT(ywz44, ywz500, h, ba, bb)
new_splitLT3(Left(ywz400), ywz41, ywz42, ywz43, ywz44, Left(ywz500), h, ba, bb) → new_splitLT2(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Left(ywz500), Left(ywz400), new_esEs31(ywz500, ywz400, h), h, ba), LT), h, ba, bb)
new_splitLT2(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, False, bc, bd, be) → new_splitLT1(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, new_esEs8(new_compare18(Left(ywz23), Left(ywz18), bc, bd), GT), bc, bd, be)
new_splitLT20(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba, bb) → new_splitLT10(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare18(Left(ywz500), Right(ywz400), h, ba), GT), h, ba, bb)
new_splitLT1(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, True, bc, bd, be) → new_splitLT(ywz22, ywz23, bc, bd, be)
new_splitLT20(ywz400, ywz41, ywz42, Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz44, ywz500, True, h, ba, bb) → new_splitLT3(ywz430, ywz431, ywz432, ywz433, ywz434, Left(ywz500), h, ba, bb)
new_splitLT2(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, True, bc, bd, be) → new_splitLT(ywz21, ywz23, bc, bd, be)
new_splitLT(Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz500, h, ba, bb) → new_splitLT3(ywz430, ywz431, ywz432, ywz433, ywz434, Left(ywz500), h, ba, bb)

The TRS R consists of the following rules:

new_compare24(Left(ywz500), Right(ywz400), False, h, ba) → LT
new_esEs8(LT, LT) → True
new_esEs8(GT, LT) → False
new_esEs8(EQ, LT) → False
new_compare18(ywz50, ywz40, h, ba) → new_compare24(ywz50, ywz40, new_esEs7(ywz50, ywz40, h, ba), h, ba)
new_esEs8(GT, GT) → True
new_esEs8(LT, GT) → False
new_esEs8(EQ, GT) → False
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Integer, ca) → new_esEs14(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Right(ywz4000), de, ca) → False
new_esEs7(Right(ywz5000), Left(ywz4000), de, ca) → False
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(ty_@2, ea), eb)) → new_esEs5(ywz5000, ywz4000, ea, eb)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Int, ca) → new_esEs11(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_@2, ce), cf), ca) → new_esEs5(ywz5000, ywz4000, ce, cf)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Ordering, ca) → new_esEs8(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(app(ty_@3, ee), ef), eg)) → new_esEs6(ywz5000, ywz4000, ee, ef, eg)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_Ratio, dh)) → new_esEs13(ywz5000, ywz4000, dh)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Ratio, cd), ca) → new_esEs13(ywz5000, ywz4000, cd)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_[], df)) → new_esEs12(ywz5000, ywz4000, df)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_[], cb), ca) → new_esEs12(ywz5000, ywz4000, cb)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Double, ca) → new_esEs16(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Float, ca) → new_esEs18(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, db), dc), dd), ca) → new_esEs6(ywz5000, ywz4000, db, dc, dd)
new_esEs7(Right(ywz5000), Right(ywz4000), de, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Bool, ca) → new_esEs17(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_@0, ca) → new_esEs19(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Char, ca) → new_esEs15(ywz5000, ywz4000)
new_compare24(Left(ywz500), Left(ywz400), False, h, ba) → new_compare14(ywz500, ywz400, new_ltEs19(ywz500, ywz400, h), h, ba)
new_compare24(ywz50, ywz40, True, h, ba) → EQ
new_compare24(Right(ywz500), Left(ywz400), False, h, ba) → GT
new_compare24(Right(ywz500), Right(ywz400), False, h, ba) → new_compare12(ywz500, ywz400, new_ltEs20(ywz500, ywz400, ba), h, ba)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cg), da), ca) → new_esEs7(ywz5000, ywz4000, cg, da)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhh), caa)) → new_esEs7(ywz5000, ywz4000, bhh, caa)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bhd)) → new_esEs4(ywz5000, ywz4000, bhd)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(app(ty_Either, ec), ed)) → new_esEs7(ywz5000, ywz4000, ec, ed)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Maybe, cc), ca) → new_esEs4(ywz5000, ywz4000, cc)
new_esEs7(Right(ywz5000), Right(ywz4000), de, app(ty_Maybe, dg)) → new_esEs4(ywz5000, ywz4000, dg)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs4(Nothing, Just(ywz4000), bfe) → False
new_esEs4(Just(ywz5000), Nothing, bfe) → False
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cab), cac), cad)) → new_esEs6(ywz5000, ywz4000, cab, cac, cad)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_[], bhc)) → new_esEs12(ywz5000, ywz4000, bhc)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bhf), bhg)) → new_esEs5(ywz5000, ywz4000, bhf, bhg)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs4(Nothing, Nothing, bfe) → True
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhe)) → new_esEs13(ywz5000, ywz4000, bhe)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs15(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_primEqNat0(Zero, Zero) → True
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_esEs19(@0, @0) → True
new_esEs11(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs16(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_sr(ywz5000, ywz4000) → new_primMulInt(ywz5000, ywz4000)
new_primMulInt(Pos(ywz50000), Pos(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Neg(ywz50000), Neg(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Pos(ywz50000), Neg(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Neg(ywz50000), Pos(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primMulNat0(Zero, Zero) → Zero
new_primMulNat0(Succ(ywz500000), Succ(ywz400000)) → new_primPlusNat1(new_primMulNat0(ywz500000, Succ(ywz400000)), ywz400000)
new_primMulNat0(Succ(ywz500000), Zero) → Zero
new_primMulNat0(Zero, Succ(ywz400000)) → Zero
new_primPlusNat1(Zero, ywz400000) → Succ(ywz400000)
new_primPlusNat1(Succ(ywz2480), ywz400000) → Succ(Succ(new_primPlusNat0(ywz2480, ywz400000)))
new_primPlusNat0(Zero, Succ(ywz4000000)) → Succ(ywz4000000)
new_primPlusNat0(Succ(ywz24800), Zero) → Succ(ywz24800)
new_primPlusNat0(Zero, Zero) → Zero
new_primPlusNat0(Succ(ywz24800), Succ(ywz4000000)) → Succ(Succ(new_primPlusNat0(ywz24800, ywz4000000)))
new_esEs13(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), bff) → new_asAs(new_esEs24(ywz5000, ywz4000, bff), new_esEs23(ywz5001, ywz4001, bff))
new_esEs24(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs24(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs23(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs23(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_asAs(False, ywz142) → False
new_asAs(True, ywz142) → ywz142
new_esEs14(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_esEs18(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs5(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcg, bch) → new_asAs(new_esEs22(ywz5000, ywz4000, bcg), new_esEs21(ywz5001, ywz4001, bch))
new_esEs22(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_esEs5(ywz5000, ywz4000, bef, beg)
new_esEs22(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_esEs7(ywz5000, ywz4000, beh, bfa)
new_esEs22(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs22(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_esEs4(ywz5000, ywz4000, bed)
new_esEs22(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_esEs13(ywz5000, ywz4000, bee)
new_esEs22(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(ty_[], bec)) → new_esEs12(ywz5000, ywz4000, bec)
new_esEs22(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bdc)) → new_esEs13(ywz5001, ywz4001, bdc)
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bdd), bde)) → new_esEs5(ywz5001, ywz4001, bdd, bde)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_[], bda)) → new_esEs12(ywz5001, ywz4001, bda)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bdf), bdg)) → new_esEs7(ywz5001, ywz4001, bdf, bdg)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bdb)) → new_esEs4(ywz5001, ywz4001, bdb)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bdh), bea), beb)) → new_esEs6(ywz5001, ywz4001, bdh, bea, beb)
new_esEs6(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), eh, fa, fb) → new_asAs(new_esEs27(ywz5000, ywz4000, eh), new_asAs(new_esEs26(ywz5001, ywz4001, fa), new_esEs25(ywz5002, ywz4002, fb)))
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_esEs7(ywz5000, ywz4000, ga, gb)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_esEs13(ywz5000, ywz4000, ff)
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_esEs6(ywz5000, ywz4000, gc, gd, ge)
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_esEs5(ywz5000, ywz4000, fg, fh)
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_esEs4(ywz5000, ywz4000, fd)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_[], fc)) → new_esEs12(ywz5000, ywz4000, fc)
new_esEs26(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_esEs4(ywz5001, ywz4001, gg)
new_esEs26(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_esEs13(ywz5001, ywz4001, gh)
new_esEs26(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_esEs6(ywz5001, ywz4001, he, hf, hg)
new_esEs26(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_esEs7(ywz5001, ywz4001, hc, hd)
new_esEs26(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_esEs5(ywz5001, ywz4001, ha, hb)
new_esEs26(ywz5001, ywz4001, app(ty_[], gf)) → new_esEs12(ywz5001, ywz4001, gf)
new_esEs26(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, ty_Bool) → new_esEs17(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Double) → new_esEs16(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Ordering) → new_esEs8(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(ty_Ratio, bab)) → new_esEs13(ywz5002, ywz4002, bab)
new_esEs25(ywz5002, ywz4002, app(ty_[], hh)) → new_esEs12(ywz5002, ywz4002, hh)
new_esEs25(ywz5002, ywz4002, app(ty_Maybe, baa)) → new_esEs4(ywz5002, ywz4002, baa)
new_esEs25(ywz5002, ywz4002, ty_@0) → new_esEs19(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Float) → new_esEs18(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, ty_Integer) → new_esEs14(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(app(app(ty_@3, bag), bah), bba)) → new_esEs6(ywz5002, ywz4002, bag, bah, bba)
new_esEs25(ywz5002, ywz4002, ty_Char) → new_esEs15(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(app(ty_@2, bac), bad)) → new_esEs5(ywz5002, ywz4002, bac, bad)
new_esEs25(ywz5002, ywz4002, ty_Int) → new_esEs11(ywz5002, ywz4002)
new_esEs25(ywz5002, ywz4002, app(app(ty_Either, bae), baf)) → new_esEs7(ywz5002, ywz4002, bae, baf)
new_esEs12(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bbd) → new_asAs(new_esEs20(ywz5000, ywz4000, bbd), new_esEs12(ywz5001, ywz4001, bbd))
new_esEs12([], [], bbd) → True
new_esEs12(:(ywz5000, ywz5001), [], bbd) → False
new_esEs12([], :(ywz4000, ywz4001), bbd) → False
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bbf)) → new_esEs4(ywz5000, ywz4000, bbf)
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bbg)) → new_esEs13(ywz5000, ywz4000, bbg)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, bbh), bca)) → new_esEs5(ywz5000, ywz4000, bbh, bca)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bcd), bce), bcf)) → new_esEs6(ywz5000, ywz4000, bcd, bce, bcf)
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_[], bbe)) → new_esEs12(ywz5000, ywz4000, bbe)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, bcb), bcc)) → new_esEs7(ywz5000, ywz4000, bcb, bcc)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs8(EQ, EQ) → True
new_esEs8(LT, EQ) → False
new_esEs8(GT, EQ) → False
new_esEs17(True, True) → True
new_esEs17(False, False) → True
new_esEs17(False, True) → False
new_esEs17(True, False) → False
new_ltEs20(ywz500, ywz400, app(ty_Ratio, bga)) → new_ltEs9(ywz500, ywz400, bga)
new_ltEs20(ywz500, ywz400, app(ty_[], bfg)) → new_ltEs7(ywz500, ywz400, bfg)
new_ltEs20(ywz500, ywz400, app(ty_Maybe, bfh)) → new_ltEs8(ywz500, ywz400, bfh)
new_ltEs20(ywz500, ywz400, app(app(ty_Either, bgd), bge)) → new_ltEs4(ywz500, ywz400, bgd, bge)
new_ltEs20(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, app(app(app(ty_@3, bgf), bgg), bgh)) → new_ltEs17(ywz500, ywz400, bgf, bgg, bgh)
new_ltEs20(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, app(app(ty_@2, bgb), bgc)) → new_ltEs10(ywz500, ywz400, bgb, bgc)
new_compare12(ywz154, ywz155, False, bbb, bbc) → GT
new_compare12(ywz154, ywz155, True, bbb, bbc) → LT
new_ltEs10(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcg, bch) → new_pePe(new_lt20(ywz5000, ywz4000, bcg), new_asAs(new_esEs28(ywz5000, ywz4000, bcg), new_ltEs21(ywz5001, ywz4001, bch)))
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(ty_[], bec)) → new_lt9(ywz5000, ywz4000, bec)
new_lt20(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_lt11(ywz5000, ywz4000, bee)
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_lt16(ywz5000, ywz4000, beh, bfa)
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_lt12(ywz5000, ywz4000, bef, beg)
new_lt20(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_lt10(ywz5000, ywz4000, bed)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_lt19(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs28(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(ty_Maybe, bed)) → new_esEs4(ywz5000, ywz4000, bed)
new_esEs28(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(app(ty_Either, beh), bfa)) → new_esEs7(ywz5000, ywz4000, beh, bfa)
new_esEs28(ywz5000, ywz4000, app(app(ty_@2, bef), beg)) → new_esEs5(ywz5000, ywz4000, bef, beg)
new_esEs28(ywz5000, ywz4000, app(app(app(ty_@3, bfb), bfc), bfd)) → new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd)
new_esEs28(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(ty_Ratio, bee)) → new_esEs13(ywz5000, ywz4000, bee)
new_esEs28(ywz5000, ywz4000, app(ty_[], bec)) → new_esEs12(ywz5000, ywz4000, bec)
new_esEs28(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, app(app(app(ty_@3, bdh), bea), beb)) → new_ltEs17(ywz5001, ywz4001, bdh, bea, beb)
new_ltEs21(ywz5001, ywz4001, ty_Int) → new_ltEs5(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Double) → new_ltEs13(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, app(ty_[], bda)) → new_ltEs7(ywz5001, ywz4001, bda)
new_ltEs21(ywz5001, ywz4001, app(app(ty_Either, bdf), bdg)) → new_ltEs4(ywz5001, ywz4001, bdf, bdg)
new_ltEs21(ywz5001, ywz4001, ty_Char) → new_ltEs12(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, app(ty_Ratio, bdc)) → new_ltEs9(ywz5001, ywz4001, bdc)
new_ltEs21(ywz5001, ywz4001, app(ty_Maybe, bdb)) → new_ltEs8(ywz5001, ywz4001, bdb)
new_ltEs21(ywz5001, ywz4001, ty_@0) → new_ltEs16(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Integer) → new_ltEs11(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Bool) → new_ltEs14(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, app(app(ty_@2, bdd), bde)) → new_ltEs10(ywz5001, ywz4001, bdd, bde)
new_ltEs21(ywz5001, ywz4001, ty_Ordering) → new_ltEs6(ywz5001, ywz4001)
new_ltEs21(ywz5001, ywz4001, ty_Float) → new_ltEs15(ywz5001, ywz4001)
new_pePe(False, ywz225) → ywz225
new_pePe(True, ywz225) → True
new_ltEs15(ywz500, ywz400) → new_not(new_esEs8(new_compare10(ywz500, ywz400), GT))
new_compare10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_not(False) → True
new_not(True) → False
new_compare8(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat1(ywz50000, ywz4000)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat2(ywz4000, ywz50000)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat2(Zero, ywz40000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat1(ywz40000, Zero)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_primCmpNat1(ywz50000, Zero) → GT
new_primCmpNat2(Zero, ywz50000) → LT
new_primCmpNat2(Succ(ywz40000), ywz50000) → new_primCmpNat0(ywz40000, ywz50000)
new_primCmpNat0(Zero, Succ(ywz400000)) → LT
new_primCmpNat0(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat0(ywz500000, ywz400000)
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(ywz500000), Zero) → GT
new_primCmpNat1(ywz50000, Succ(ywz40000)) → new_primCmpNat0(ywz50000, ywz40000)
new_ltEs6(GT, EQ) → False
new_ltEs6(EQ, GT) → True
new_ltEs6(EQ, EQ) → True
new_ltEs6(GT, GT) → True
new_ltEs6(LT, LT) → True
new_ltEs6(EQ, LT) → False
new_ltEs6(LT, GT) → True
new_ltEs6(LT, EQ) → True
new_ltEs6(GT, LT) → False
new_ltEs14(False, True) → True
new_ltEs14(False, False) → True
new_ltEs14(True, True) → True
new_ltEs14(True, False) → False
new_ltEs11(ywz500, ywz400) → new_not(new_esEs8(new_compare9(ywz500, ywz400), GT))
new_compare9(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_ltEs16(ywz500, ywz400) → new_not(new_esEs8(new_compare28(ywz500, ywz400), GT))
new_compare28(@0, @0) → EQ
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhe)) → new_ltEs9(ywz5000, ywz4000, bhe)
new_ltEs8(Nothing, Just(ywz4000), bfe) → True
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_[], bhc)) → new_ltEs7(ywz5000, ywz4000, bhc)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, cab), cac), cad)) → new_ltEs17(ywz5000, ywz4000, cab, cac, cad)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Nothing, bfe) → False
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, cc), ca) → new_ltEs8(ywz5000, ywz4000, cc)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bhd)) → new_ltEs8(ywz5000, ywz4000, bhd)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(ty_Either, ec), ed)) → new_ltEs4(ywz5000, ywz4000, ec, ed)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cg), da), ca) → new_ltEs4(ywz5000, ywz4000, cg, da)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_Maybe, dg)) → new_ltEs8(ywz5000, ywz4000, dg)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhh), caa)) → new_ltEs4(ywz5000, ywz4000, bhh, caa)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_ltEs8(Nothing, Nothing, bfe) → True
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bhf), bhg)) → new_ltEs10(ywz5000, ywz4000, bhf, bhg)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_ltEs12(ywz500, ywz400) → new_not(new_esEs8(new_compare5(ywz500, ywz400), GT))
new_compare5(Char(ywz5000), Char(ywz4000)) → new_primCmpNat0(ywz5000, ywz4000)
new_ltEs5(ywz500, ywz400) → new_not(new_esEs8(new_compare8(ywz500, ywz400), GT))
new_ltEs13(ywz500, ywz400) → new_not(new_esEs8(new_compare15(ywz500, ywz400), GT))
new_compare15(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Int, ca) → new_ltEs5(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Double, ca) → new_ltEs13(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, ce), cf), ca) → new_ltEs10(ywz5000, ywz4000, ce, cf)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Char, ca) → new_ltEs12(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, db), dc), dd), ca) → new_ltEs17(ywz5000, ywz4000, db, dc, dd)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, ca) → new_ltEs6(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Right(ywz4000), de, ca) → True
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Bool, ca) → new_ltEs14(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, cd), ca) → new_ltEs9(ywz5000, ywz4000, cd)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_@0, ca) → new_ltEs16(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(app(ty_@3, ee), ef), eg)) → new_ltEs17(ywz5000, ywz4000, ee, ef, eg)
new_ltEs4(Right(ywz5000), Left(ywz4000), de, ca) → False
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_Ratio, dh)) → new_ltEs9(ywz5000, ywz4000, dh)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(app(ty_@2, ea), eb)) → new_ltEs10(ywz5000, ywz4000, ea, eb)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Float, ca) → new_ltEs15(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_[], cb), ca) → new_ltEs7(ywz5000, ywz4000, cb)
new_ltEs4(Right(ywz5000), Right(ywz4000), de, app(ty_[], df)) → new_ltEs7(ywz5000, ywz4000, df)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Integer, ca) → new_ltEs11(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, bbd) → new_not(new_esEs8(new_compare0(ywz500, ywz400, bbd), GT))
new_compare0([], [], bbd) → EQ
new_compare0(:(ywz5000, ywz5001), [], bbd) → GT
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bbd) → new_primCompAux1(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, bbd), bbd)
new_compare0([], :(ywz4000, ywz4001), bbd) → LT
new_primCompAux1(ywz5000, ywz4000, ywz290, bbd) → new_primCompAux0(ywz290, new_compare31(ywz5000, ywz4000, bbd))
new_compare31(ywz5000, ywz4000, ty_Double) → new_compare15(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Int) → new_compare8(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Ordering) → new_compare16(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(app(ty_Either, bcb), bcc)) → new_compare18(ywz5000, ywz4000, bcb, bcc)
new_compare31(ywz5000, ywz4000, ty_@0) → new_compare28(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_Maybe, bbf)) → new_compare32(ywz5000, ywz4000, bbf)
new_compare31(ywz5000, ywz4000, app(app(app(ty_@3, bcd), bce), bcf)) → new_compare17(ywz5000, ywz4000, bcd, bce, bcf)
new_compare31(ywz5000, ywz4000, ty_Bool) → new_compare6(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(app(ty_@2, bbh), bca)) → new_compare30(ywz5000, ywz4000, bbh, bca)
new_compare31(ywz5000, ywz4000, ty_Integer) → new_compare9(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_Ratio, bbg)) → new_compare7(ywz5000, ywz4000, bbg)
new_compare31(ywz5000, ywz4000, ty_Char) → new_compare5(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_[], bbe)) → new_compare0(ywz5000, ywz4000, bbe)
new_compare31(ywz5000, ywz4000, ty_Float) → new_compare10(ywz5000, ywz4000)
new_primCompAux0(ywz333, GT) → GT
new_primCompAux0(ywz333, LT) → LT
new_primCompAux0(ywz333, EQ) → ywz333
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare8(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare9(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_sr0(Integer(ywz50000), Integer(ywz40010)) → Integer(new_primMulInt(ywz50000, ywz40010))
new_compare30(ywz5000, ywz4000, bef, beg) → new_compare27(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bef, beg), bef, beg)
new_compare27(ywz5000, ywz4000, True, bef, beg) → EQ
new_compare27(ywz5000, ywz4000, False, bef, beg) → new_compare19(ywz5000, ywz4000, new_ltEs10(ywz5000, ywz4000, bef, beg), bef, beg)
new_compare19(ywz5000, ywz4000, True, bef, beg) → LT
new_compare19(ywz5000, ywz4000, False, bef, beg) → GT
new_compare6(ywz5000, ywz4000) → new_compare25(ywz5000, ywz4000, new_esEs17(ywz5000, ywz4000))
new_compare25(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs14(ywz5000, ywz4000))
new_compare25(ywz5000, ywz4000, True) → EQ
new_compare11(ywz5000, ywz4000, False) → GT
new_compare11(ywz5000, ywz4000, True) → LT
new_compare17(ywz5000, ywz4000, bfb, bfc, bfd) → new_compare210(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, bfb, bfc, bfd), bfb, bfc, bfd)
new_compare210(ywz5000, ywz4000, True, bfb, bfc, bfd) → EQ
new_compare210(ywz5000, ywz4000, False, bfb, bfc, bfd) → new_compare111(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000, bfb, bfc, bfd), bfb, bfc, bfd)
new_ltEs17(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), eh, fa, fb) → new_pePe(new_lt5(ywz5000, ywz4000, eh), new_asAs(new_esEs10(ywz5000, ywz4000, eh), new_pePe(new_lt6(ywz5001, ywz4001, fa), new_asAs(new_esEs9(ywz5001, ywz4001, fa), new_ltEs18(ywz5002, ywz4002, fb)))))
new_compare111(ywz5000, ywz4000, True, bfb, bfc, bfd) → LT
new_compare111(ywz5000, ywz4000, False, bfb, bfc, bfd) → GT
new_lt5(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_lt19(ywz5000, ywz4000, gc, gd, ge)
new_lt5(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_lt16(ywz5000, ywz4000, ga, gb)
new_lt5(ywz5000, ywz4000, app(ty_[], fc)) → new_lt9(ywz5000, ywz4000, fc)
new_lt5(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_lt11(ywz5000, ywz4000, ff)
new_lt5(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_lt12(ywz5000, ywz4000, fg, fh)
new_lt5(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_lt10(ywz5000, ywz4000, fd)
new_lt5(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(ty_[], fc)) → new_esEs12(ywz5000, ywz4000, fc)
new_esEs10(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(app(ty_Either, ga), gb)) → new_esEs7(ywz5000, ywz4000, ga, gb)
new_esEs10(ywz5000, ywz4000, app(app(ty_@2, fg), fh)) → new_esEs5(ywz5000, ywz4000, fg, fh)
new_esEs10(ywz5000, ywz4000, app(app(app(ty_@3, gc), gd), ge)) → new_esEs6(ywz5000, ywz4000, gc, gd, ge)
new_esEs10(ywz5000, ywz4000, app(ty_Ratio, ff)) → new_esEs13(ywz5000, ywz4000, ff)
new_esEs10(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(ty_Maybe, fd)) → new_esEs4(ywz5000, ywz4000, fd)
new_esEs10(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, ty_Bool) → new_lt4(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, ty_Char) → new_lt14(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, ty_Ordering) → new_lt8(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_lt11(ywz5001, ywz4001, gh)
new_lt6(ywz5001, ywz4001, ty_Float) → new_lt17(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, ty_Double) → new_lt15(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(ty_[], gf)) → new_lt9(ywz5001, ywz4001, gf)
new_lt6(ywz5001, ywz4001, ty_Integer) → new_lt13(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_lt19(ywz5001, ywz4001, he, hf, hg)
new_lt6(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_lt10(ywz5001, ywz4001, gg)
new_lt6(ywz5001, ywz4001, ty_Int) → new_lt7(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_lt16(ywz5001, ywz4001, hc, hd)
new_lt6(ywz5001, ywz4001, ty_@0) → new_lt18(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_lt12(ywz5001, ywz4001, ha, hb)
new_esEs9(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(ty_[], gf)) → new_esEs12(ywz5001, ywz4001, gf)
new_esEs9(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(ty_Ratio, gh)) → new_esEs13(ywz5001, ywz4001, gh)
new_esEs9(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(app(ty_@2, ha), hb)) → new_esEs5(ywz5001, ywz4001, ha, hb)
new_esEs9(ywz5001, ywz4001, app(ty_Maybe, gg)) → new_esEs4(ywz5001, ywz4001, gg)
new_esEs9(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(app(app(ty_@3, he), hf), hg)) → new_esEs6(ywz5001, ywz4001, he, hf, hg)
new_esEs9(ywz5001, ywz4001, app(app(ty_Either, hc), hd)) → new_esEs7(ywz5001, ywz4001, hc, hd)
new_ltEs18(ywz5002, ywz4002, ty_Float) → new_ltEs15(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(ty_Ratio, bab)) → new_ltEs9(ywz5002, ywz4002, bab)
new_ltEs18(ywz5002, ywz4002, app(ty_[], hh)) → new_ltEs7(ywz5002, ywz4002, hh)
new_ltEs18(ywz5002, ywz4002, ty_Double) → new_ltEs13(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Int) → new_ltEs5(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Ordering) → new_ltEs6(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(app(ty_@2, bac), bad)) → new_ltEs10(ywz5002, ywz4002, bac, bad)
new_ltEs18(ywz5002, ywz4002, ty_@0) → new_ltEs16(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Integer) → new_ltEs11(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(app(ty_Either, bae), baf)) → new_ltEs4(ywz5002, ywz4002, bae, baf)
new_ltEs18(ywz5002, ywz4002, app(app(app(ty_@3, bag), bah), bba)) → new_ltEs17(ywz5002, ywz4002, bag, bah, bba)
new_ltEs18(ywz5002, ywz4002, ty_Bool) → new_ltEs14(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_Char) → new_ltEs12(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, app(ty_Maybe, baa)) → new_ltEs8(ywz5002, ywz4002, baa)
new_ltEs9(ywz500, ywz400, bff) → new_not(new_esEs8(new_compare7(ywz500, ywz400, bff), GT))
new_lt12(ywz5000, ywz4000, bef, beg) → new_esEs8(new_compare30(ywz5000, ywz4000, bef, beg), LT)
new_lt18(ywz5000, ywz4000) → new_esEs8(new_compare28(ywz5000, ywz4000), LT)
new_lt16(ywz50, ywz40, h, ba) → new_esEs8(new_compare18(ywz50, ywz40, h, ba), LT)
new_lt7(ywz5000, ywz4000) → new_esEs8(new_compare8(ywz5000, ywz4000), LT)
new_lt10(ywz5000, ywz4000, bed) → new_esEs8(new_compare32(ywz5000, ywz4000, bed), LT)
new_compare32(ywz5000, ywz4000, bed) → new_compare29(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, bed), bed)
new_compare29(ywz5000, ywz4000, False, bed) → new_compare110(ywz5000, ywz4000, new_ltEs8(ywz5000, ywz4000, bed), bed)
new_compare29(ywz5000, ywz4000, True, bed) → EQ
new_compare110(ywz5000, ywz4000, True, bed) → LT
new_compare110(ywz5000, ywz4000, False, bed) → GT
new_lt19(ywz5000, ywz4000, bfb, bfc, bfd) → new_esEs8(new_compare17(ywz5000, ywz4000, bfb, bfc, bfd), LT)
new_lt13(ywz5000, ywz4000) → new_esEs8(new_compare9(ywz5000, ywz4000), LT)
new_lt9(ywz5000, ywz4000, bec) → new_esEs8(new_compare0(ywz5000, ywz4000, bec), LT)
new_lt15(ywz5000, ywz4000) → new_esEs8(new_compare15(ywz5000, ywz4000), LT)
new_lt17(ywz5000, ywz4000) → new_esEs8(new_compare10(ywz5000, ywz4000), LT)
new_lt11(ywz5000, ywz4000, bee) → new_esEs8(new_compare7(ywz5000, ywz4000, bee), LT)
new_lt8(ywz5000, ywz4000) → new_esEs8(new_compare16(ywz5000, ywz4000), LT)
new_compare16(ywz5000, ywz4000) → new_compare26(ywz5000, ywz4000, new_esEs8(ywz5000, ywz4000))
new_compare26(ywz5000, ywz4000, False) → new_compare13(ywz5000, ywz4000, new_ltEs6(ywz5000, ywz4000))
new_compare26(ywz5000, ywz4000, True) → EQ
new_compare13(ywz5000, ywz4000, False) → GT
new_compare13(ywz5000, ywz4000, True) → LT
new_lt14(ywz5000, ywz4000) → new_esEs8(new_compare5(ywz5000, ywz4000), LT)
new_lt4(ywz5000, ywz4000) → new_esEs8(new_compare6(ywz5000, ywz4000), LT)
new_ltEs19(ywz500, ywz400, app(app(ty_Either, de), ca)) → new_ltEs4(ywz500, ywz400, de, ca)
new_ltEs19(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(app(ty_@2, bcg), bch)) → new_ltEs10(ywz500, ywz400, bcg, bch)
new_ltEs19(ywz500, ywz400, app(ty_Ratio, bff)) → new_ltEs9(ywz500, ywz400, bff)
new_ltEs19(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(ty_Maybe, bfe)) → new_ltEs8(ywz500, ywz400, bfe)
new_ltEs19(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(ty_[], bbd)) → new_ltEs7(ywz500, ywz400, bbd)
new_ltEs19(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_ltEs19(ywz500, ywz400, app(app(app(ty_@3, eh), fa), fb)) → new_ltEs17(ywz500, ywz400, eh, fa, fb)
new_ltEs19(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_compare14(ywz147, ywz148, False, bha, bhb) → GT
new_compare14(ywz147, ywz148, True, bha, bhb) → LT
new_esEs31(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_esEs31(ywz500, ywz400, app(ty_[], bbd)) → new_esEs12(ywz500, ywz400, bbd)
new_esEs31(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_esEs31(ywz500, ywz400, app(app(ty_Either, de), ca)) → new_esEs7(ywz500, ywz400, de, ca)
new_esEs31(ywz500, ywz400, ty_Float) → new_esEs18(ywz500, ywz400)
new_esEs31(ywz500, ywz400, app(app(app(ty_@3, eh), fa), fb)) → new_esEs6(ywz500, ywz400, eh, fa, fb)
new_esEs31(ywz500, ywz400, ty_Bool) → new_esEs17(ywz500, ywz400)
new_esEs31(ywz500, ywz400, app(app(ty_@2, bcg), bch)) → new_esEs5(ywz500, ywz400, bcg, bch)
new_esEs31(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_esEs31(ywz500, ywz400, ty_Double) → new_esEs16(ywz500, ywz400)
new_esEs31(ywz500, ywz400, ty_@0) → new_esEs19(ywz500, ywz400)
new_esEs31(ywz500, ywz400, app(ty_Maybe, bfe)) → new_esEs4(ywz500, ywz400, bfe)
new_esEs31(ywz500, ywz400, app(ty_Ratio, bff)) → new_esEs13(ywz500, ywz400, bff)
new_esEs31(ywz500, ywz400, ty_Int) → new_esEs11(ywz500, ywz400)

The set Q consists of the following terms:

new_esEs7(Left(x0), Left(x1), ty_Int, x2)
new_esEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_ltEs21(x0, x1, ty_Int)
new_compare24(Right(x0), Right(x1), False, x2, x3)
new_esEs18(Float(x0, x1), Float(x2, x3))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs16(x0, x1)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_primCmpNat1(x0, Succ(x1))
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(x0, x1, ty_Double)
new_lt6(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Double)
new_compare27(x0, x1, True, x2, x3)
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Int)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_lt9(x0, x1, x2)
new_esEs31(x0, x1, app(ty_[], x2))
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_ltEs21(x0, x1, ty_Ordering)
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_primCompAux0(x0, EQ)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs18(x0, x1, ty_Bool)
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Bool)
new_esEs31(x0, x1, ty_Bool)
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_esEs22(x0, x1, ty_Ordering)
new_compare15(Double(x0, x1), Double(x2, x3))
new_esEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_lt6(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_primCmpNat0(Succ(x0), Zero)
new_esEs26(x0, x1, app(ty_[], x2))
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_lt4(x0, x1)
new_ltEs21(x0, x1, ty_Double)
new_lt10(x0, x1, x2)
new_compare5(Char(x0), Char(x1))
new_ltEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs14(True, False)
new_ltEs14(False, True)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs20(x0, x1, ty_Ordering)
new_lt8(x0, x1)
new_esEs8(GT, GT)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs7(x0, x1, x2)
new_esEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_lt20(x0, x1, app(ty_[], x2))
new_compare14(x0, x1, True, x2, x3)
new_compare30(x0, x1, x2, x3)
new_esEs26(x0, x1, ty_Int)
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_esEs10(x0, x1, ty_Integer)
new_esEs7(Left(x0), Left(x1), ty_Integer, x2)
new_esEs8(LT, LT)
new_esEs26(x0, x1, ty_Float)
new_primPlusNat1(Zero, x0)
new_ltEs19(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_compare27(x0, x1, False, x2, x3)
new_lt20(x0, x1, ty_Int)
new_primEqNat0(Succ(x0), Succ(x1))
new_esEs31(x0, x1, ty_@0)
new_compare0(:(x0, x1), [], x2)
new_ltEs19(x0, x1, ty_Float)
new_esEs17(False, False)
new_lt20(x0, x1, ty_Integer)
new_esEs7(Right(x0), Right(x1), x2, ty_Float)
new_esEs31(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Float)
new_lt5(x0, x1, ty_Int)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_compare210(x0, x1, True, x2, x3, x4)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Bool)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, ty_Bool)
new_ltEs6(EQ, EQ)
new_pePe(False, x0)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_compare12(x0, x1, False, x2, x3)
new_esEs7(Left(x0), Left(x1), ty_Char, x2)
new_esEs8(LT, GT)
new_esEs8(GT, LT)
new_ltEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_compare9(Integer(x0), Integer(x1))
new_pePe(True, x0)
new_esEs28(x0, x1, ty_Int)
new_esEs7(Left(x0), Left(x1), ty_Float, x2)
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs4(Just(x0), Just(x1), ty_@0)
new_esEs4(Just(x0), Just(x1), ty_Int)
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs6(LT, EQ)
new_ltEs20(x0, x1, ty_@0)
new_ltEs6(EQ, LT)
new_compare7(:%(x0, x1), :%(x2, x3), ty_Integer)
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_primEqNat0(Zero, Zero)
new_ltEs19(x0, x1, ty_Double)
new_esEs7(Right(x0), Right(x1), x2, ty_Int)
new_ltEs8(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_ltEs19(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Bool)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_compare31(x0, x1, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Char)
new_compare26(x0, x1, True)
new_esEs12(:(x0, x1), [], x2)
new_compare110(x0, x1, False, x2)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs4(Right(x0), Right(x1), x2, ty_Integer)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_ltEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_compare29(x0, x1, False, x2)
new_esEs4(Just(x0), Just(x1), app(ty_Ratio, x2))
new_lt6(x0, x1, app(ty_Maybe, x2))
new_compare28(@0, @0)
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs28(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Char)
new_primMulNat0(Zero, Zero)
new_esEs28(x0, x1, app(ty_[], x2))
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, ty_@0)
new_ltEs21(x0, x1, ty_Float)
new_esEs9(x0, x1, ty_Integer)
new_ltEs10(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt20(x0, x1, ty_@0)
new_primCompAux1(x0, x1, x2, x3)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Double)
new_lt6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_ltEs19(x0, x1, ty_Int)
new_compare29(x0, x1, True, x2)
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs22(x0, x1, ty_@0)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_esEs31(x0, x1, ty_Integer)
new_ltEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs9(x0, x1, ty_Bool)
new_esEs4(Just(x0), Just(x1), ty_Float)
new_lt5(x0, x1, ty_@0)
new_esEs10(x0, x1, ty_Ordering)
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_esEs12([], :(x0, x1), x2)
new_ltEs8(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs7(Left(x0), Left(x1), ty_Double, x2)
new_esEs28(x0, x1, ty_Integer)
new_lt6(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Double)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs8(Nothing, Nothing, x0)
new_esEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs20(x0, x1, ty_@0)
new_esEs25(x0, x1, ty_Int)
new_ltEs20(x0, x1, ty_Int)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, ty_Char)
new_compare24(Left(x0), Right(x1), False, x2, x3)
new_compare24(Right(x0), Left(x1), False, x2, x3)
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs18(x0, x1, ty_Char)
new_esEs21(x0, x1, ty_Integer)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_asAs(False, x0)
new_esEs25(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, ty_Char)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_primMulNat0(Succ(x0), Succ(x1))
new_ltEs4(Right(x0), Right(x1), x2, ty_@0)
new_esEs22(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), ty_Double)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, ty_Ordering)
new_primCmpNat1(x0, Zero)
new_primCmpNat2(Zero, x0)
new_ltEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs11(x0, x1)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_primPlusNat0(Zero, Zero)
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_esEs31(x0, x1, ty_Ordering)
new_esEs12(:(x0, x1), :(x2, x3), x4)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Ordering)
new_lt6(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare13(x0, x1, True)
new_compare12(x0, x1, True, x2, x3)
new_lt6(x0, x1, ty_Float)
new_sr(x0, x1)
new_ltEs8(Just(x0), Just(x1), ty_Int)
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_compare14(x0, x1, False, x2, x3)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_compare7(:%(x0, x1), :%(x2, x3), ty_Int)
new_ltEs4(Left(x0), Left(x1), ty_Int, x2)
new_esEs4(Just(x0), Just(x1), ty_Ordering)
new_primMulNat0(Zero, Succ(x0))
new_ltEs18(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_compare8(x0, x1)
new_lt12(x0, x1, x2, x3)
new_compare31(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Bool)
new_ltEs20(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs8(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Ordering)
new_esEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs5(x0, x1)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_esEs9(x0, x1, ty_Double)
new_lt15(x0, x1)
new_ltEs20(x0, x1, ty_Ordering)
new_lt6(x0, x1, ty_Int)
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs8(Just(x0), Just(x1), ty_Bool)
new_ltEs4(Left(x0), Left(x1), ty_Integer, x2)
new_primPlusNat0(Succ(x0), Succ(x1))
new_esEs7(Right(x0), Right(x1), x2, ty_Double)
new_lt6(x0, x1, ty_Integer)
new_ltEs8(Just(x0), Just(x1), app(ty_[], x2))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs4(Right(x0), Right(x1), x2, ty_Float)
new_ltEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs4(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_ltEs8(Just(x0), Just(x1), ty_Double)
new_esEs4(Just(x0), Just(x1), app(ty_[], x2))
new_esEs14(Integer(x0), Integer(x1))
new_ltEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs25(x0, x1, ty_Float)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primMulNat0(Succ(x0), Zero)
new_esEs10(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Double)
new_esEs16(Double(x0, x1), Double(x2, x3))
new_compare24(x0, x1, True, x2, x3)
new_compare6(x0, x1)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_compare32(x0, x1, x2)
new_lt5(x0, x1, ty_Bool)
new_lt13(x0, x1)
new_primCompAux0(x0, LT)
new_lt18(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs8(EQ, EQ)
new_compare13(x0, x1, False)
new_primPlusNat0(Zero, Succ(x0))
new_ltEs8(Just(x0), Just(x1), ty_Ordering)
new_ltEs19(x0, x1, ty_Integer)
new_esEs4(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs10(x0, x1, ty_Float)
new_lt17(x0, x1)
new_esEs4(Nothing, Just(x0), x1)
new_esEs22(x0, x1, ty_Int)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_compare19(x0, x1, False, x2, x3)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Char)
new_esEs7(Right(x0), Right(x1), x2, ty_Bool)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_compare24(Left(x0), Left(x1), False, x2, x3)
new_esEs11(x0, x1)
new_lt5(x0, x1, ty_Integer)
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_sr0(Integer(x0), Integer(x1))
new_esEs31(x0, x1, ty_Double)
new_lt6(x0, x1, ty_Bool)
new_esEs9(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Double)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_ltEs12(x0, x1)
new_esEs22(x0, x1, ty_Bool)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, ty_Float)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, ty_Integer)
new_ltEs8(Nothing, Just(x0), x1)
new_esEs20(x0, x1, app(ty_[], x2))
new_esEs4(Nothing, Nothing, x0)
new_ltEs8(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_ltEs20(x0, x1, ty_Float)
new_ltEs4(Left(x0), Left(x1), ty_Float, x2)
new_compare18(x0, x1, x2, x3)
new_ltEs6(GT, GT)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_primMulInt(Neg(x0), Neg(x1))
new_lt5(x0, x1, app(ty_Maybe, x2))
new_esEs8(GT, EQ)
new_esEs8(EQ, GT)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, app(ty_Ratio, x2))
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_lt6(x0, x1, ty_Double)
new_lt6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs26(x0, x1, ty_Ordering)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_compare17(x0, x1, x2, x3, x4)
new_esEs24(x0, x1, ty_Integer)
new_primCmpNat0(Zero, Zero)
new_esEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs10(x0, x1, ty_@0)
new_ltEs6(LT, LT)
new_esEs26(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_@0)
new_esEs28(x0, x1, ty_Ordering)
new_ltEs21(x0, x1, app(ty_[], x2))
new_ltEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs18(x0, x1, app(ty_[], x2))
new_compare111(x0, x1, False, x2, x3, x4)
new_esEs25(x0, x1, ty_Integer)
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_lt16(x0, x1, x2, x3)
new_primCmpNat0(Zero, Succ(x0))
new_ltEs9(x0, x1, x2)
new_esEs7(Right(x0), Right(x1), x2, ty_Integer)
new_esEs22(x0, x1, ty_Char)
new_compare31(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Char)
new_ltEs8(Just(x0), Just(x1), ty_@0)
new_primPlusNat0(Succ(x0), Zero)
new_esEs7(Right(x0), Right(x1), x2, ty_Char)
new_esEs31(x0, x1, ty_Float)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt19(x0, x1, x2, x3, x4)
new_ltEs4(Left(x0), Left(x1), ty_Char, x2)
new_primMulInt(Pos(x0), Pos(x1))
new_esEs22(x0, x1, ty_Double)
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_ltEs8(Just(x0), Just(x1), ty_Integer)
new_ltEs21(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Int)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs4(Just(x0), Just(x1), app(ty_Maybe, x2))
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_compare210(x0, x1, False, x2, x3, x4)
new_lt14(x0, x1)
new_compare25(x0, x1, True)
new_ltEs14(True, True)
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs14(False, False)
new_lt11(x0, x1, x2)
new_compare111(x0, x1, True, x2, x3, x4)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, ty_Double)
new_ltEs4(Right(x0), Right(x1), x2, ty_Int)
new_compare19(x0, x1, True, x2, x3)
new_esEs22(x0, x1, ty_Float)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_compare10(Float(x0, x1), Float(x2, x3))
new_esEs24(x0, x1, ty_Int)
new_esEs31(x0, x1, ty_Int)
new_not(True)
new_ltEs8(Just(x0), Just(x1), ty_Float)
new_esEs27(x0, x1, ty_Char)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs21(x0, x1, ty_@0)
new_esEs21(x0, x1, ty_@0)
new_esEs7(Right(x0), Right(x1), x2, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_esEs4(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Double)
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_not(False)
new_compare31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare31(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Ordering)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_lt6(x0, x1, ty_Char)
new_ltEs4(Left(x0), Right(x1), x2, x3)
new_lt6(x0, x1, app(ty_Ratio, x2))
new_ltEs4(Right(x0), Left(x1), x2, x3)
new_esEs4(Just(x0), Just(x1), ty_Integer)
new_esEs26(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_@0)
new_compare25(x0, x1, False)
new_esEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs6(EQ, GT)
new_ltEs6(GT, EQ)
new_esEs13(:%(x0, x1), :%(x2, x3), x4)
new_compare31(x0, x1, ty_Integer)
new_ltEs18(x0, x1, ty_Double)
new_esEs7(Left(x0), Left(x1), ty_@0, x2)
new_esEs9(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Double)
new_esEs21(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_@0)
new_ltEs8(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_ltEs13(x0, x1)
new_ltEs4(Left(x0), Left(x1), ty_Double, x2)
new_ltEs8(Just(x0), Just(x1), ty_Char)
new_esEs15(Char(x0), Char(x1))
new_compare16(x0, x1)
new_ltEs15(x0, x1)
new_esEs9(x0, x1, ty_Float)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_asAs(True, x0)
new_esEs8(EQ, LT)
new_esEs8(LT, EQ)
new_esEs7(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_compare0([], [], x0)
new_primCompAux0(x0, GT)
new_ltEs18(x0, x1, ty_Ordering)
new_esEs9(x0, x1, ty_Int)
new_lt7(x0, x1)
new_ltEs8(Just(x0), Nothing, x1)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs20(x0, x1, ty_Bool)
new_esEs20(x0, x1, ty_Float)
new_compare31(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_@0)
new_esEs12([], [], x0)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs17(False, True)
new_esEs17(True, False)
new_esEs25(x0, x1, ty_Char)
new_esEs7(Right(x0), Left(x1), x2, x3)
new_esEs7(Left(x0), Right(x1), x2, x3)
new_compare31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs17(True, True)
new_esEs23(x0, x1, ty_Int)
new_compare26(x0, x1, False)
new_esEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_primEqNat0(Zero, Succ(x0))
new_lt5(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpNat2(Succ(x0), x1)
new_esEs10(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_Bool)
new_esEs28(x0, x1, ty_@0)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_lt5(x0, x1, ty_Ordering)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare0([], :(x0, x1), x2)
new_esEs19(@0, @0)
new_compare11(x0, x1, False)
new_esEs20(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_Int)
new_compare110(x0, x1, True, x2)
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_esEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_compare11(x0, x1, True)
new_ltEs4(Right(x0), Right(x1), x2, ty_Char)
new_primPlusNat1(Succ(x0), x1)
new_esEs9(x0, x1, ty_@0)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof
                                  ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

new_plusFM_CNew_elt01(ywz341, ywz342, ywz343, ywz344, ywz345, ywz346, ywz347, ywz348, ywz349, ywz350, ywz351, ywz352, ywz353, bd, be) → new_plusFM_CNew_elt0(ywz341, ywz342, ywz343, ywz344, ywz345, ywz346, ywz347, ywz348, ywz349, ywz350, ywz351, ywz352, ywz353, new_lt21(ywz346, ywz349, be), bd, be)
new_plusFM_CNew_elt0(ywz369, ywz370, ywz371, ywz372, ywz373, ywz374, ywz375, ywz376, ywz377, ywz378, ywz379, Branch(ywz3800, ywz3801, ywz3802, ywz3803, ywz3804), ywz381, True, h, ba) → new_plusFM_CNew_elt01(ywz369, ywz370, ywz371, ywz372, ywz373, ywz374, ywz375, ywz376, ywz3800, ywz3801, ywz3802, ywz3803, ywz3804, h, ba)
new_plusFM_CNew_elt00(ywz404, ywz405, ywz406, ywz407, ywz408, ywz409, ywz410, ywz411, ywz412, ywz413, ywz414, ywz415, ywz416, True, bb, bc) → new_plusFM_CNew_elt02(ywz404, ywz405, ywz406, ywz407, ywz408, ywz409, ywz410, ywz411, ywz416, bb, bc)
new_plusFM_CNew_elt0(ywz369, ywz370, ywz371, ywz372, ywz373, ywz374, ywz375, ywz376, ywz377, ywz378, ywz379, ywz380, ywz381, False, h, ba) → new_plusFM_CNew_elt00(ywz369, ywz370, ywz371, ywz372, ywz373, ywz374, ywz375, ywz376, ywz377, ywz378, ywz379, ywz380, ywz381, new_gt0(ywz374, ywz377, ba), h, ba)
new_plusFM_CNew_elt02(ywz369, ywz370, ywz371, ywz372, ywz373, ywz374, ywz375, ywz376, Branch(ywz3800, ywz3801, ywz3802, ywz3803, ywz3804), h, ba) → new_plusFM_CNew_elt01(ywz369, ywz370, ywz371, ywz372, ywz373, ywz374, ywz375, ywz376, ywz3800, ywz3801, ywz3802, ywz3803, ywz3804, h, ba)

The TRS R consists of the following rules:

new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bhc)) → new_esEs4(ywz5000, ywz4000, bhc)
new_lt14(ywz5000, ywz4000) → new_esEs8(new_compare5(ywz5000, ywz4000), LT)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cd), ce), bf) → new_esEs7(ywz5000, ywz4000, cd, ce)
new_compare31(ywz5000, ywz4000, ty_Double) → new_compare15(ywz5000, ywz4000)
new_primCmpNat2(Zero, ywz50000) → LT
new_esEs12(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bba) → new_asAs(new_esEs20(ywz5000, ywz4000, bba), new_esEs12(ywz5001, ywz4001, bba))
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_gt0(ywz374, ywz377, ty_Float) → new_esEs8(new_compare10(ywz374, ywz377), GT)
new_ltEs11(ywz500, ywz400) → new_not(new_esEs8(new_compare9(ywz500, ywz400), GT))
new_ltEs20(ywz500, ywz400, app(ty_Ratio, bfh)) → new_ltEs9(ywz500, ywz400, bfh)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Maybe, bh), bf) → new_esEs4(ywz5000, ywz4000, bh)
new_ltEs18(ywz5002, ywz4002, ty_Float) → new_ltEs15(ywz5002, ywz4002)
new_esEs4(Nothing, Just(ywz4000), bfd) → False
new_esEs4(Just(ywz5000), Nothing, bfd) → False
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_compare24(Left(ywz500), Left(ywz400), False, bfb, bfc) → new_compare14(ywz500, ywz400, new_ltEs19(ywz500, ywz400, bfb), bfb, bfc)
new_ltEs4(Right(ywz5000), Right(ywz4000), db, ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_compare26(ywz5000, ywz4000, False) → new_compare13(ywz5000, ywz4000, new_ltEs6(ywz5000, ywz4000))
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_lt21(ywz346, ywz349, ty_@0) → new_lt18(ywz346, ywz349)
new_ltEs20(ywz500, ywz400, app(ty_[], bff)) → new_ltEs7(ywz500, ywz400, bff)
new_esEs9(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_compare31(ywz5000, ywz4000, ty_Int) → new_compare8(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Ordering) → new_compare16(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_primMulNat0(Zero, Zero) → Zero
new_lt6(ywz5001, ywz4001, ty_Bool) → new_lt4(ywz5001, ywz4001)
new_esEs7(Right(ywz5000), Right(ywz4000), db, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, caa), cab), cac)) → new_esEs6(ywz5000, ywz4000, caa, cab, cac)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Int, bf) → new_ltEs5(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bbc)) → new_esEs4(ywz5000, ywz4000, bbc)
new_ltEs21(ywz5001, ywz4001, app(app(app(ty_@3, bde), bdf), bdg)) → new_ltEs17(ywz5001, ywz4001, bde, bdf, bdg)
new_ltEs10(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcd, bce) → new_pePe(new_lt20(ywz5000, ywz4000, bcd), new_asAs(new_esEs28(ywz5000, ywz4000, bcd), new_ltEs21(ywz5001, ywz4001, bce)))
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_gt(ywz50, ywz40, bfb, bfc) → new_esEs8(new_compare18(ywz50, ywz40, bfb, bfc), GT)
new_esEs26(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_ltEs20(ywz500, ywz400, app(ty_Maybe, bfg)) → new_ltEs8(ywz500, ywz400, bfg)
new_ltEs4(Right(ywz5000), Right(ywz4000), db, ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), db, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_lt10(ywz5000, ywz4000, bea) → new_esEs8(new_compare32(ywz5000, ywz4000, bea), LT)
new_ltEs14(False, True) → True
new_esEs25(ywz5002, ywz4002, ty_Bool) → new_esEs17(ywz5002, ywz4002)
new_lt8(ywz5000, ywz4000) → new_esEs8(new_compare16(ywz5000, ywz4000), LT)
new_esEs26(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, ty_Double) → new_esEs16(ywz5002, ywz4002)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Double, bf) → new_ltEs13(ywz5000, ywz4000)
new_lt21(ywz346, ywz349, ty_Char) → new_lt14(ywz346, ywz349)
new_compare24(Left(ywz500), Right(ywz400), False, bfb, bfc) → LT
new_ltEs9(ywz500, ywz400, bfe) → new_not(new_esEs8(new_compare7(ywz500, ywz400, bfe), GT))
new_compare5(Char(ywz5000), Char(ywz4000)) → new_primCmpNat0(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, cb), cc), bf) → new_ltEs10(ywz5000, ywz4000, cb, cc)
new_esEs17(True, True) → True
new_esEs18(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs18(ywz5002, ywz4002, app(ty_Ratio, hg)) → new_ltEs9(ywz5002, ywz4002, hg)
new_esEs12([], [], bba) → True
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bbd)) → new_esEs13(ywz5000, ywz4000, bbd)
new_ltEs15(ywz500, ywz400) → new_not(new_esEs8(new_compare10(ywz500, ywz400), GT))
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Integer, bf) → new_esEs14(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, ty_Int) → new_ltEs5(ywz5001, ywz4001)
new_esEs22(ywz5000, ywz4000, app(app(ty_@2, bec), bed)) → new_esEs5(ywz5000, ywz4000, bec, bed)
new_lt9(ywz5000, ywz4000, bdh) → new_esEs8(new_compare0(ywz5000, ywz4000, bdh), LT)
new_esEs26(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, bh), bf) → new_ltEs8(ywz5000, ywz4000, bh)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Char, bf) → new_ltEs12(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(ty_Maybe, gd)) → new_esEs4(ywz5001, ywz4001, gd)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, cf), cg), da), bf) → new_ltEs17(ywz5000, ywz4000, cf, cg, da)
new_ltEs18(ywz5002, ywz4002, app(ty_[], he)) → new_ltEs7(ywz5002, ywz4002, he)
new_primCmpNat1(ywz50000, Succ(ywz40000)) → new_primCmpNat0(ywz50000, ywz40000)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(app(ty_Either, bee), bef)) → new_esEs7(ywz5000, ywz4000, bee, bef)
new_gt0(ywz374, ywz377, ty_Bool) → new_esEs8(new_compare6(ywz374, ywz377), GT)
new_esEs7(Right(ywz5000), Right(ywz4000), db, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_lt21(ywz346, ywz349, app(app(ty_@2, ccb), ccc)) → new_lt12(ywz346, ywz349, ccb, ccc)
new_esEs9(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_ltEs19(ywz500, ywz400, app(app(ty_Either, db), bf)) → new_ltEs4(ywz500, ywz400, db, bf)
new_pePe(False, ywz225) → ywz225
new_ltEs4(Right(ywz5000), Right(ywz4000), db, ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Right(ywz4000), db, bf) → False
new_esEs7(Right(ywz5000), Left(ywz4000), db, bf) → False
new_esEs12(:(ywz5000, ywz5001), [], bba) → False
new_esEs12([], :(ywz4000, ywz4001), bba) → False
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, bf) → new_ltEs6(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_primCmpNat1(ywz50000, Zero) → GT
new_esEs28(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, ff), fg)) → new_esEs7(ywz5000, ywz4000, ff, fg)
new_esEs26(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_ltEs20(ywz500, ywz400, app(app(ty_Either, bgc), bgd)) → new_ltEs4(ywz500, ywz400, bgc, bgd)
new_ltEs4(Right(ywz5000), Right(ywz4000), db, ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhd)) → new_ltEs9(ywz5000, ywz4000, bhd)
new_ltEs6(GT, EQ) → False
new_ltEs4(Right(ywz5000), Right(ywz4000), db, app(app(ty_Either, dh), ea)) → new_ltEs4(ywz5000, ywz4000, dh, ea)
new_esEs22(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), db, ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, bbe), bbf)) → new_esEs5(ywz5000, ywz4000, bbe, bbf)
new_esEs14(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Right(ywz4000), db, bf) → True
new_gt0(ywz374, ywz377, app(ty_[], cbb)) → new_esEs8(new_compare0(ywz374, ywz377, cbb), GT)
new_esEs7(Right(ywz5000), Right(ywz4000), db, app(app(ty_@2, df), dg)) → new_esEs5(ywz5000, ywz4000, df, dg)
new_primCmpNat0(Zero, Succ(ywz400000)) → LT
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Bool, bf) → new_ltEs14(ywz5000, ywz4000)
new_gt0(ywz374, ywz377, ty_Double) → new_esEs8(new_compare15(ywz374, ywz377), GT)
new_lt6(ywz5001, ywz4001, ty_Char) → new_lt14(ywz5001, ywz4001)
new_ltEs8(Nothing, Just(ywz4000), bfd) → True
new_ltEs19(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_esEs8(LT, LT) → True
new_lt6(ywz5001, ywz4001, ty_Ordering) → new_lt8(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bch)) → new_esEs13(ywz5001, ywz4001, bch)
new_lt21(ywz346, ywz349, app(app(app(ty_@3, cbf), cbg), cbh)) → new_lt19(ywz346, ywz349, cbf, cbg, cbh)
new_esEs28(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_gt0(ywz374, ywz377, ty_@0) → new_esEs8(new_compare28(ywz374, ywz377), GT)
new_lt5(ywz5000, ywz4000, app(app(app(ty_@3, fh), ga), gb)) → new_lt19(ywz5000, ywz4000, fh, ga, gb)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Int, bf) → new_esEs11(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, ca), bf) → new_ltEs9(ywz5000, ywz4000, ca)
new_esEs25(ywz5002, ywz4002, ty_Ordering) → new_esEs8(ywz5002, ywz4002)
new_gt1(ywz277, ywz276) → new_esEs8(new_compare8(ywz277, ywz276), GT)
new_ltEs18(ywz5002, ywz4002, ty_Double) → new_ltEs13(ywz5002, ywz4002)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_@0, bf) → new_ltEs16(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, app(ty_Ratio, hg)) → new_esEs13(ywz5002, ywz4002, hg)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, bca), bcb), bcc)) → new_esEs6(ywz5000, ywz4000, bca, bcb, bcc)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_[], bhb)) → new_ltEs7(ywz5000, ywz4000, bhb)
new_pePe(True, ywz225) → True
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare8(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare9(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_compare0([], [], bba) → EQ
new_compare14(ywz147, ywz148, False, bgh, bha) → GT
new_ltEs21(ywz5001, ywz4001, ty_Double) → new_ltEs13(ywz5001, ywz4001)
new_primEqNat0(Zero, Zero) → True
new_compare31(ywz5000, ywz4000, app(app(ty_Either, bbg), bbh)) → new_compare18(ywz5000, ywz4000, bbg, bbh)
new_compare26(ywz5000, ywz4000, True) → EQ
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_gt0(ywz374, ywz377, ty_Ordering) → new_esEs8(new_compare16(ywz374, ywz377), GT)
new_esEs10(ywz5000, ywz4000, app(ty_[], eh)) → new_esEs12(ywz5000, ywz4000, eh)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_@2, cb), cc), bf) → new_esEs5(ywz5000, ywz4000, cb, cc)
new_ltEs21(ywz5001, ywz4001, app(ty_[], bcf)) → new_ltEs7(ywz5001, ywz4001, bcf)
new_lt21(ywz346, ywz349, app(app(ty_Either, cce), ccf)) → new_lt16(ywz346, ywz349, cce, ccf)
new_primMulNat0(Succ(ywz500000), Succ(ywz400000)) → new_primPlusNat1(new_primMulNat0(ywz500000, Succ(ywz400000)), ywz400000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_[], bhb)) → new_esEs12(ywz5000, ywz4000, bhb)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, caa), cab), cac)) → new_ltEs17(ywz5000, ywz4000, caa, cab, cac)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, app(ty_Ratio, ge)) → new_esEs13(ywz5001, ywz4001, ge)
new_lt20(ywz5000, ywz4000, app(ty_[], bdh)) → new_lt9(ywz5000, ywz4000, bdh)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, fb)) → new_esEs13(ywz5000, ywz4000, fb)
new_esEs17(False, False) → True
new_esEs17(False, True) → False
new_esEs17(True, False) → False
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Ordering, bf) → new_esEs8(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(app(ty_Either, ff), fg)) → new_lt16(ywz5000, ywz4000, ff, fg)
new_esEs15(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_ltEs18(ywz5002, ywz4002, ty_Int) → new_ltEs5(ywz5002, ywz4002)
new_ltEs19(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_esEs7(Right(ywz5000), Right(ywz4000), db, app(app(app(ty_@3, eb), ec), ed)) → new_esEs6(ywz5000, ywz4000, eb, ec, ed)
new_sr(ywz5000, ywz4000) → new_primMulInt(ywz5000, ywz4000)
new_compare12(ywz154, ywz155, False, bag, bah) → GT
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_[], eh)) → new_lt9(ywz5000, ywz4000, eh)
new_esEs26(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_ltEs6(EQ, GT) → True
new_esEs8(GT, GT) → True
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_ltEs18(ywz5002, ywz4002, ty_Ordering) → new_ltEs6(ywz5002, ywz4002)
new_lt21(ywz346, ywz349, ty_Double) → new_lt15(ywz346, ywz349)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat1(ywz50000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), db, app(app(ty_Either, dh), ea)) → new_esEs7(ywz5000, ywz4000, dh, ea)
new_esEs26(ywz5001, ywz4001, app(app(app(ty_@3, hb), hc), hd)) → new_esEs6(ywz5001, ywz4001, hb, hc, hd)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_compare25(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs14(ywz5000, ywz4000))
new_esEs8(LT, GT) → False
new_esEs8(GT, LT) → False
new_lt17(ywz5000, ywz4000) → new_esEs8(new_compare10(ywz5000, ywz4000), LT)
new_compare29(ywz5000, ywz4000, False, bea) → new_compare110(ywz5000, ywz4000, new_ltEs8(ywz5000, ywz4000, bea), bea)
new_compare16(ywz5000, ywz4000) → new_compare26(ywz5000, ywz4000, new_esEs8(ywz5000, ywz4000))
new_lt21(ywz346, ywz349, ty_Ordering) → new_lt8(ywz346, ywz349)
new_esEs25(ywz5002, ywz4002, app(ty_[], he)) → new_esEs12(ywz5002, ywz4002, he)
new_compare17(ywz5000, ywz4000, beg, beh, bfa) → new_compare210(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, beg, beh, bfa), beg, beh, bfa)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_compare25(ywz5000, ywz4000, True) → EQ
new_ltEs20(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), db, ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_lt11(ywz5000, ywz4000, beb)
new_compare6(ywz5000, ywz4000) → new_compare25(ywz5000, ywz4000, new_esEs17(ywz5000, ywz4000))
new_ltEs19(ywz500, ywz400, app(app(ty_@2, bcd), bce)) → new_ltEs10(ywz500, ywz400, bcd, bce)
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(app(app(ty_@3, beg), beh), bfa)) → new_esEs6(ywz5000, ywz4000, beg, beh, bfa)
new_esEs28(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_compare13(ywz5000, ywz4000, False) → GT
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs28(ywz5000, ywz4000, app(ty_Maybe, bea)) → new_esEs4(ywz5000, ywz4000, bea)
new_ltEs19(ywz500, ywz400, app(ty_Ratio, bfe)) → new_ltEs9(ywz500, ywz400, bfe)
new_esEs7(Right(ywz5000), Right(ywz4000), db, app(ty_Ratio, de)) → new_esEs13(ywz5000, ywz4000, de)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_lt13(ywz5000, ywz4000) → new_esEs8(new_compare9(ywz5000, ywz4000), LT)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Ratio, ca), bf) → new_esEs13(ywz5000, ywz4000, ca)
new_esEs9(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(ty_Ratio, ge)) → new_lt11(ywz5001, ywz4001, ge)
new_gt0(ywz374, ywz377, ty_Char) → new_esEs8(new_compare5(ywz374, ywz377), GT)
new_ltEs6(EQ, EQ) → True
new_ltEs20(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_primCmpNat2(Succ(ywz40000), ywz50000) → new_primCmpNat0(ywz40000, ywz50000)
new_compare8(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, cd), ce), bf) → new_ltEs4(ywz5000, ywz4000, cd, ce)
new_ltEs19(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_primCompAux0(ywz333, GT) → GT
new_esEs8(EQ, EQ) → True
new_primPlusNat1(Zero, ywz400000) → Succ(ywz400000)
new_ltEs6(GT, GT) → True
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_compare24(ywz50, ywz40, True, bfb, bfc) → EQ
new_compare31(ywz5000, ywz4000, ty_@0) → new_compare28(ywz5000, ywz4000)
new_lt21(ywz346, ywz349, app(ty_[], ccd)) → new_lt9(ywz346, ywz349, ccd)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, app(app(ty_Either, bdc), bdd)) → new_ltEs4(ywz5001, ywz4001, bdc, bdd)
new_compare31(ywz5000, ywz4000, app(ty_Maybe, bbc)) → new_compare32(ywz5000, ywz4000, bbc)
new_esEs19(@0, @0) → True
new_esEs7(Right(ywz5000), Right(ywz4000), db, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, app(app(ty_Either, gh), ha)) → new_esEs7(ywz5001, ywz4001, gh, ha)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_esEs23(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_gt0(ywz374, ywz377, ty_Integer) → new_esEs8(new_compare9(ywz374, ywz377), GT)
new_ltEs18(ywz5002, ywz4002, app(app(ty_@2, hh), baa)) → new_ltEs10(ywz5002, ywz4002, hh, baa)
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhg), bhh)) → new_esEs7(ywz5000, ywz4000, bhg, bhh)
new_primCmpNat0(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat0(ywz500000, ywz400000)
new_esEs22(ywz5000, ywz4000, app(ty_Maybe, bea)) → new_esEs4(ywz5000, ywz4000, bea)
new_esEs22(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, app(ty_Maybe, hf)) → new_esEs4(ywz5002, ywz4002, hf)
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_compare27(ywz5000, ywz4000, True, bec, bed) → EQ
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bhe), bhf)) → new_esEs5(ywz5000, ywz4000, bhe, bhf)
new_compare31(ywz5000, ywz4000, app(app(app(ty_@3, bca), bcb), bcc)) → new_compare17(ywz5000, ywz4000, bca, bcb, bcc)
new_ltEs19(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_compare31(ywz5000, ywz4000, ty_Bool) → new_compare6(ywz5000, ywz4000)
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_compare12(ywz154, ywz155, True, bag, bah) → LT
new_ltEs20(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_gt0(ywz374, ywz377, app(app(ty_@2, cah), cba)) → new_esEs8(new_compare30(ywz374, ywz377, cah, cba), GT)
new_ltEs20(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_ltEs14(False, False) → True
new_esEs16(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs7(Right(ywz5000), Right(ywz4000), db, app(ty_[], dc)) → new_esEs12(ywz5000, ywz4000, dc)
new_lt21(ywz346, ywz349, ty_Integer) → new_lt13(ywz346, ywz349)
new_esEs13(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), bfe) → new_asAs(new_esEs24(ywz5000, ywz4000, bfe), new_esEs23(ywz5001, ywz4001, bfe))
new_compare111(ywz5000, ywz4000, True, beg, beh, bfa) → LT
new_esEs28(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, ty_@0) → new_esEs19(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_@0) → new_ltEs16(ywz5002, ywz4002)
new_ltEs8(Just(ywz5000), Nothing, bfd) → False
new_ltEs12(ywz500, ywz400) → new_not(new_esEs8(new_compare5(ywz500, ywz400), GT))
new_esEs9(ywz5001, ywz4001, app(ty_[], gc)) → new_esEs12(ywz5001, ywz4001, gc)
new_esEs22(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_gt0(ywz374, ywz377, ty_Int) → new_gt1(ywz374, ywz377)
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs28(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs8(LT, EQ) → False
new_esEs8(EQ, LT) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_esEs10(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(app(ty_Either, ff), fg)) → new_esEs7(ywz5000, ywz4000, ff, fg)
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_lt4(ywz5000, ywz4000) → new_esEs8(new_compare6(ywz5000, ywz4000), LT)
new_ltEs18(ywz5002, ywz4002, ty_Integer) → new_ltEs11(ywz5002, ywz4002)
new_primPlusNat0(Zero, Succ(ywz4000000)) → Succ(ywz4000000)
new_primPlusNat0(Succ(ywz24800), Zero) → Succ(ywz24800)
new_esEs5(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcd, bce) → new_asAs(new_esEs22(ywz5000, ywz4000, bcd), new_esEs21(ywz5001, ywz4001, bce))
new_primCmpNat0(Zero, Zero) → EQ
new_primCmpNat0(Succ(ywz500000), Zero) → GT
new_esEs22(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_compare210(ywz5000, ywz4000, True, beg, beh, bfa) → EQ
new_esEs22(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_esEs13(ywz5000, ywz4000, beb)
new_lt6(ywz5001, ywz4001, ty_Float) → new_lt17(ywz5001, ywz4001)
new_ltEs4(Right(ywz5000), Right(ywz4000), db, app(app(app(ty_@3, eb), ec), ed)) → new_ltEs17(ywz5000, ywz4000, eb, ec, ed)
new_compare13(ywz5000, ywz4000, True) → LT
new_sr0(Integer(ywz50000), Integer(ywz40010)) → Integer(new_primMulInt(ywz50000, ywz40010))
new_lt21(ywz346, ywz349, app(ty_Maybe, ccg)) → new_lt10(ywz346, ywz349, ccg)
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_[], bg), bf) → new_esEs12(ywz5000, ywz4000, bg)
new_ltEs18(ywz5002, ywz4002, app(app(ty_Either, bab), bac)) → new_ltEs4(ywz5002, ywz4002, bab, bac)
new_compare15(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_ltEs20(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_lt6(ywz5001, ywz4001, ty_Double) → new_lt15(ywz5001, ywz4001)
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_esEs20(ywz5000, ywz4000, app(ty_[], bbb)) → new_esEs12(ywz5000, ywz4000, bbb)
new_compare24(Right(ywz500), Left(ywz400), False, bfb, bfc) → GT
new_esEs28(ywz5000, ywz4000, app(app(ty_Either, bee), bef)) → new_esEs7(ywz5000, ywz4000, bee, bef)
new_compare30(ywz5000, ywz4000, bec, bed) → new_compare27(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bec, bed), bec, bed)
new_esEs7(Right(ywz5000), Right(ywz4000), db, app(ty_Maybe, dd)) → new_esEs4(ywz5000, ywz4000, dd)
new_ltEs17(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), ee, ef, eg) → new_pePe(new_lt5(ywz5000, ywz4000, ee), new_asAs(new_esEs10(ywz5000, ywz4000, ee), new_pePe(new_lt6(ywz5001, ywz4001, ef), new_asAs(new_esEs9(ywz5001, ywz4001, ef), new_ltEs18(ywz5002, ywz4002, eg)))))
new_esEs7(Right(ywz5000), Right(ywz4000), db, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, app(ty_[], gc)) → new_lt9(ywz5001, ywz4001, gc)
new_lt5(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_lt16(ywz50, ywz40, bfb, bfc) → new_esEs8(new_compare18(ywz50, ywz40, bfb, bfc), LT)
new_esEs8(EQ, GT) → False
new_esEs8(GT, EQ) → False
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, ty_Integer) → new_lt13(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(app(ty_@2, gf), gg)) → new_esEs5(ywz5001, ywz4001, gf, gg)
new_esEs22(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bda), bdb)) → new_esEs5(ywz5001, ywz4001, bda, bdb)
new_primCompAux0(ywz333, LT) → LT
new_esEs9(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_not(False) → True
new_esEs11(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Left(ywz4000), db, bf) → False
new_ltEs20(ywz500, ywz400, app(app(app(ty_@3, bge), bgf), bgg)) → new_ltEs17(ywz500, ywz400, bge, bgf, bgg)
new_compare110(ywz5000, ywz4000, True, bea) → LT
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Double, bf) → new_esEs16(ywz5000, ywz4000)
new_compare210(ywz5000, ywz4000, False, beg, beh, bfa) → new_compare111(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000, beg, beh, bfa), beg, beh, bfa)
new_ltEs4(Right(ywz5000), Right(ywz4000), db, ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), db, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_lt21(ywz346, ywz349, ty_Bool) → new_lt4(ywz346, ywz349)
new_ltEs21(ywz5001, ywz4001, ty_Char) → new_ltEs12(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, ty_Float) → new_esEs18(ywz5002, ywz4002)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, bee), bef)) → new_lt16(ywz5000, ywz4000, bee, bef)
new_esEs9(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_gt0(ywz374, ywz377, app(app(app(ty_@3, cad), cae), caf)) → new_esEs8(new_compare17(ywz374, ywz377, cad, cae, caf), GT)
new_esEs28(ywz5000, ywz4000, app(app(ty_@2, bec), bed)) → new_esEs5(ywz5000, ywz4000, bec, bed)
new_compare0(:(ywz5000, ywz5001), [], bba) → GT
new_lt6(ywz5001, ywz4001, app(app(app(ty_@3, hb), hc), hd)) → new_lt19(ywz5001, ywz4001, hb, hc, hd)
new_lt7(ywz5000, ywz4000) → new_esEs8(new_compare8(ywz5000, ywz4000), LT)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), db, app(ty_Ratio, de)) → new_ltEs9(ywz5000, ywz4000, de)
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_compare27(ywz5000, ywz4000, False, bec, bed) → new_compare19(ywz5000, ywz4000, new_ltEs10(ywz5000, ywz4000, bec, bed), bec, bed)
new_lt6(ywz5001, ywz4001, app(ty_Maybe, gd)) → new_lt10(ywz5001, ywz4001, gd)
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_Ratio, fb)) → new_lt11(ywz5000, ywz4000, fb)
new_primMulInt(Pos(ywz50000), Pos(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_esEs7(Right(ywz5000), Right(ywz4000), db, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs18(ywz5000, ywz4000)
new_ltEs19(ywz500, ywz400, app(ty_Maybe, bfd)) → new_ltEs8(ywz500, ywz400, bfd)
new_primMulInt(Neg(ywz50000), Neg(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_esEs9(ywz5001, ywz4001, app(ty_Ratio, ge)) → new_esEs13(ywz5001, ywz4001, ge)
new_ltEs19(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), db, app(app(ty_@2, df), dg)) → new_ltEs10(ywz5000, ywz4000, df, dg)
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_lt20(ywz5000, ywz4000, app(app(ty_@2, bec), bed)) → new_lt12(ywz5000, ywz4000, bec, bed)
new_primPlusNat0(Zero, Zero) → Zero
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Float, bf) → new_ltEs15(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), db, ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(ty_[], bcf)) → new_esEs12(ywz5001, ywz4001, bcf)
new_ltEs6(LT, LT) → True
new_ltEs6(EQ, LT) → False
new_ltEs14(True, True) → True
new_lt20(ywz5000, ywz4000, app(ty_Maybe, bea)) → new_lt10(ywz5000, ywz4000, bea)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_ltEs18(ywz5002, ywz4002, app(app(app(ty_@3, bad), bae), baf)) → new_ltEs17(ywz5002, ywz4002, bad, bae, baf)
new_esEs28(ywz5000, ywz4000, app(app(app(ty_@3, beg), beh), bfa)) → new_esEs6(ywz5000, ywz4000, beg, beh, bfa)
new_esEs4(Nothing, Nothing, bfd) → True
new_ltEs21(ywz5001, ywz4001, app(ty_Ratio, bch)) → new_ltEs9(ywz5001, ywz4001, bch)
new_compare111(ywz5000, ywz4000, False, beg, beh, bfa) → GT
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bhd)) → new_esEs13(ywz5000, ywz4000, bhd)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, fh), ga), gb)) → new_esEs6(ywz5000, ywz4000, fh, ga, gb)
new_compare31(ywz5000, ywz4000, app(app(ty_@2, bbe), bbf)) → new_compare30(ywz5000, ywz4000, bbe, bbf)
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, fc), fd)) → new_esEs5(ywz5000, ywz4000, fc, fd)
new_lt5(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_gt0(ywz374, ywz377, app(ty_Maybe, cbe)) → new_esEs8(new_compare32(ywz374, ywz377, cbe), GT)
new_esEs23(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bhg), bhh)) → new_ltEs4(ywz5000, ywz4000, bhg, bhh)
new_esEs10(ywz5000, ywz4000, app(app(ty_@2, fc), fd)) → new_esEs5(ywz5000, ywz4000, fc, fd)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, fa)) → new_esEs4(ywz5000, ywz4000, fa)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bdc), bdd)) → new_esEs7(ywz5001, ywz4001, bdc, bdd)
new_primPlusNat1(Succ(ywz2480), ywz400000) → Succ(Succ(new_primPlusNat0(ywz2480, ywz400000)))
new_lt15(ywz5000, ywz4000) → new_esEs8(new_compare15(ywz5000, ywz4000), LT)
new_ltEs21(ywz5001, ywz4001, app(ty_Maybe, bcg)) → new_ltEs8(ywz5001, ywz4001, bcg)
new_lt6(ywz5001, ywz4001, ty_Int) → new_lt7(ywz5001, ywz4001)
new_lt19(ywz5000, ywz4000, beg, beh, bfa) → new_esEs8(new_compare17(ywz5000, ywz4000, beg, beh, bfa), LT)
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_compare110(ywz5000, ywz4000, False, bea) → GT
new_esEs25(ywz5002, ywz4002, ty_Integer) → new_esEs14(ywz5002, ywz4002)
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bba) → new_primCompAux1(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, bba), bba)
new_compare19(ywz5000, ywz4000, True, bec, bed) → LT
new_ltEs19(ywz500, ywz400, app(ty_[], bba)) → new_ltEs7(ywz500, ywz400, bba)
new_compare31(ywz5000, ywz4000, ty_Integer) → new_compare9(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_Ratio, bbd)) → new_compare7(ywz5000, ywz4000, bbd)
new_ltEs5(ywz500, ywz400) → new_not(new_esEs8(new_compare8(ywz500, ywz400), GT))
new_lt6(ywz5001, ywz4001, app(app(ty_Either, gh), ha)) → new_lt16(ywz5001, ywz4001, gh, ha)
new_esEs24(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs9(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_ltEs19(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs21(ywz5001, ywz4001, ty_@0) → new_ltEs16(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, bcg)) → new_esEs4(ywz5001, ywz4001, bcg)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, bbg), bbh)) → new_esEs7(ywz5000, ywz4000, bbg, bbh)
new_lt5(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, ty_Integer) → new_ltEs11(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(app(ty_@2, gf), gg)) → new_esEs5(ywz5001, ywz4001, gf, gg)
new_compare29(ywz5000, ywz4000, True, bea) → EQ
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCompAux1(ywz5000, ywz4000, ywz290, bba) → new_primCompAux0(ywz290, new_compare31(ywz5000, ywz4000, bba))
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bhc)) → new_ltEs8(ywz5000, ywz4000, bhc)
new_compare18(ywz50, ywz40, bfb, bfc) → new_compare24(ywz50, ywz40, new_esEs7(ywz50, ywz40, bfb, bfc), bfb, bfc)
new_lt5(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Char) → new_compare5(ywz5000, ywz4000)
new_compare9(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_asAs(False, ywz142) → False
new_esEs10(ywz5000, ywz4000, app(app(app(ty_@3, fh), ga), gb)) → new_esEs6(ywz5000, ywz4000, fh, ga, gb)
new_primMulInt(Neg(ywz50000), Pos(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Pos(ywz50000), Neg(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat2(ywz4000, ywz50000)
new_primMulNat0(Succ(ywz500000), Zero) → Zero
new_primMulNat0(Zero, Succ(ywz400000)) → Zero
new_esEs26(ywz5001, ywz4001, app(ty_[], gc)) → new_esEs12(ywz5001, ywz4001, gc)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_lt21(ywz346, ywz349, ty_Int) → new_lt7(ywz346, ywz349)
new_esEs9(ywz5001, ywz4001, app(ty_Maybe, gd)) → new_esEs4(ywz5001, ywz4001, gd)
new_ltEs21(ywz5001, ywz4001, ty_Bool) → new_ltEs14(ywz5001, ywz4001)
new_esEs10(ywz5000, ywz4000, app(ty_Ratio, fb)) → new_esEs13(ywz5000, ywz4000, fb)
new_lt6(ywz5001, ywz4001, ty_@0) → new_lt18(ywz5001, ywz4001)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Float, bf) → new_esEs18(ywz5000, ywz4000)
new_ltEs18(ywz5002, ywz4002, ty_Bool) → new_ltEs14(ywz5002, ywz4002)
new_compare10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_compare31(ywz5000, ywz4000, app(ty_[], bbb)) → new_compare0(ywz5000, ywz4000, bbb)
new_esEs28(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_ltEs18(ywz5002, ywz4002, ty_Char) → new_ltEs12(ywz5002, ywz4002)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat2(Zero, ywz40000)
new_esEs25(ywz5002, ywz4002, app(app(app(ty_@3, bad), bae), baf)) → new_esEs6(ywz5002, ywz4002, bad, bae, baf)
new_esEs10(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_ltEs6(LT, GT) → True
new_esEs10(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, cf), cg), da), bf) → new_esEs6(ywz5000, ywz4000, cf, cg, da)
new_ltEs21(ywz5001, ywz4001, app(app(ty_@2, bda), bdb)) → new_ltEs10(ywz5001, ywz4001, bda, bdb)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(ty_[], bdh)) → new_esEs12(ywz5000, ywz4000, bdh)
new_lt21(ywz346, ywz349, app(ty_Ratio, cca)) → new_lt11(ywz346, ywz349, cca)
new_esEs24(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_[], bg), bf) → new_ltEs7(ywz5000, ywz4000, bg)
new_ltEs21(ywz5001, ywz4001, ty_Ordering) → new_ltEs6(ywz5001, ywz4001)
new_gt0(ywz374, ywz377, app(app(ty_Either, cbc), cbd)) → new_gt(ywz374, ywz377, cbc, cbd)
new_esEs7(Right(ywz5000), Right(ywz4000), db, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(ty_Ratio, beb)) → new_esEs13(ywz5000, ywz4000, beb)
new_ltEs18(ywz5002, ywz4002, app(ty_Maybe, hf)) → new_ltEs8(ywz5002, ywz4002, hf)
new_ltEs14(True, False) → False
new_esEs25(ywz5002, ywz4002, ty_Char) → new_esEs15(ywz5002, ywz4002)
new_compare11(ywz5000, ywz4000, False) → GT
new_ltEs13(ywz500, ywz400) → new_not(new_esEs8(new_compare15(ywz500, ywz400), GT))
new_lt11(ywz5000, ywz4000, beb) → new_esEs8(new_compare7(ywz5000, ywz4000, beb), LT)
new_lt5(ywz5000, ywz4000, app(app(ty_@2, fc), fd)) → new_lt12(ywz5000, ywz4000, fc, fd)
new_ltEs8(Nothing, Nothing, bfd) → True
new_esEs26(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, app(app(ty_@2, hh), baa)) → new_esEs5(ywz5002, ywz4002, hh, baa)
new_ltEs16(ywz500, ywz400) → new_not(new_esEs8(new_compare28(ywz500, ywz400), GT))
new_compare11(ywz5000, ywz4000, True) → LT
new_ltEs19(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), db, app(ty_[], dc)) → new_ltEs7(ywz5000, ywz4000, dc)
new_esEs9(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_ltEs19(ywz500, ywz400, app(app(app(ty_@3, ee), ef), eg)) → new_ltEs17(ywz500, ywz400, ee, ef, eg)
new_ltEs20(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_compare14(ywz147, ywz148, True, bgh, bha) → LT
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Bool, bf) → new_esEs17(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat1(ywz40000, Zero)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs19(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Float) → new_compare10(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_primPlusNat0(Succ(ywz24800), Succ(ywz4000000)) → Succ(Succ(new_primPlusNat0(ywz24800, ywz4000000)))
new_esEs9(ywz5001, ywz4001, app(app(app(ty_@3, hb), hc), hd)) → new_esEs6(ywz5001, ywz4001, hb, hc, hd)
new_ltEs4(Right(ywz5000), Right(ywz4000), db, app(ty_Maybe, dd)) → new_ltEs8(ywz5000, ywz4000, dd)
new_lt5(ywz5000, ywz4000, app(ty_Maybe, fa)) → new_lt10(ywz5000, ywz4000, fa)
new_compare0([], :(ywz4000, ywz4001), bba) → LT
new_ltEs6(LT, EQ) → True
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bde), bdf), bdg)) → new_esEs6(ywz5001, ywz4001, bde, bdf, bdg)
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, beg), beh), bfa)) → new_lt19(ywz5000, ywz4000, beg, beh, bfa)
new_ltEs6(GT, LT) → False
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_asAs(True, ywz142) → ywz142
new_gt0(ywz374, ywz377, app(ty_Ratio, cag)) → new_esEs8(new_compare7(ywz374, ywz377, cag), GT)
new_esEs28(ywz5000, ywz4000, app(ty_[], bdh)) → new_esEs12(ywz5000, ywz4000, bdh)
new_esEs27(ywz5000, ywz4000, app(ty_[], eh)) → new_esEs12(ywz5000, ywz4000, eh)
new_esEs25(ywz5002, ywz4002, ty_Int) → new_esEs11(ywz5002, ywz4002)
new_lt12(ywz5000, ywz4000, bec, bed) → new_esEs8(new_compare30(ywz5000, ywz4000, bec, bed), LT)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_@0, bf) → new_esEs19(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Integer, bf) → new_ltEs11(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bhe), bhf)) → new_ltEs10(ywz5000, ywz4000, bhe, bhf)
new_ltEs21(ywz5001, ywz4001, ty_Float) → new_ltEs15(ywz5001, ywz4001)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Char, bf) → new_esEs15(ywz5000, ywz4000)
new_esEs9(ywz5001, ywz4001, app(app(ty_Either, gh), ha)) → new_esEs7(ywz5001, ywz4001, gh, ha)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, bba) → new_not(new_esEs8(new_compare0(ywz500, ywz400, bba), GT))
new_ltEs20(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_compare32(ywz5000, ywz4000, bea) → new_compare29(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, bea), bea)
new_compare19(ywz5000, ywz4000, False, bec, bed) → GT
new_esEs28(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, app(app(ty_Either, bab), bac)) → new_esEs7(ywz5002, ywz4002, bab, bac)
new_lt5(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_lt6(ywz5001, ywz4001, app(app(ty_@2, gf), gg)) → new_lt12(ywz5001, ywz4001, gf, gg)
new_primCompAux0(ywz333, EQ) → ywz333
new_esEs6(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), ee, ef, eg) → new_asAs(new_esEs27(ywz5000, ywz4000, ee), new_asAs(new_esEs26(ywz5001, ywz4001, ef), new_esEs25(ywz5002, ywz4002, eg)))
new_ltEs20(ywz500, ywz400, app(app(ty_@2, bga), bgb)) → new_ltEs10(ywz500, ywz400, bga, bgb)
new_ltEs19(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_compare28(@0, @0) → EQ
new_esEs10(ywz5000, ywz4000, app(ty_Maybe, fa)) → new_esEs4(ywz5000, ywz4000, fa)
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_esEs10(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_lt18(ywz5000, ywz4000) → new_esEs8(new_compare28(ywz5000, ywz4000), LT)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_lt21(ywz346, ywz349, ty_Float) → new_lt17(ywz346, ywz349)
new_not(True) → False
new_compare24(Right(ywz500), Right(ywz400), False, bfb, bfc) → new_compare12(ywz500, ywz400, new_ltEs20(ywz500, ywz400, bfc), bfb, bfc)

The set Q consists of the following terms:

new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs21(x0, x1, ty_Int)
new_esEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs18(Float(x0, x1), Float(x2, x3))
new_ltEs16(x0, x1)
new_primCmpNat1(x0, Succ(x1))
new_esEs20(x0, x1, ty_Double)
new_lt6(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Double)
new_lt21(x0, x1, ty_Bool)
new_ltEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_compare27(x0, x1, True, x2, x3)
new_esEs27(x0, x1, app(ty_[], x2))
new_esEs23(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Int)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs21(x0, x1, ty_Ordering)
new_primCompAux0(x0, EQ)
new_esEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs18(x0, x1, ty_Bool)
new_gt1(x0, x1)
new_esEs27(x0, x1, ty_Bool)
new_esEs22(x0, x1, ty_Ordering)
new_compare15(Double(x0, x1), Double(x2, x3))
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs7(Right(x0), Right(x1), x2, ty_Float)
new_compare111(x0, x1, False, x2, x3, x4)
new_lt6(x0, x1, ty_Ordering)
new_ltEs8(Nothing, Nothing, x0)
new_gt0(x0, x1, ty_@0)
new_primCmpNat0(Succ(x0), Zero)
new_esEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_lt4(x0, x1)
new_ltEs21(x0, x1, ty_Double)
new_compare5(Char(x0), Char(x1))
new_esEs7(Left(x0), Left(x1), ty_Char, x2)
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_lt21(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs14(True, False)
new_ltEs14(False, True)
new_ltEs8(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_ltEs8(Just(x0), Just(x1), app(ty_[], x2))
new_gt(x0, x1, x2, x3)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs20(x0, x1, ty_Ordering)
new_lt8(x0, x1)
new_esEs26(x0, x1, app(ty_[], x2))
new_esEs8(GT, GT)
new_gt0(x0, x1, ty_Integer)
new_compare31(x0, x1, app(ty_Maybe, x2))
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, ty_Int)
new_compare24(x0, x1, True, x2, x3)
new_esEs10(x0, x1, ty_Integer)
new_esEs8(LT, LT)
new_esEs26(x0, x1, ty_Float)
new_primPlusNat1(Zero, x0)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs19(x0, x1, ty_Ordering)
new_lt20(x0, x1, ty_Bool)
new_lt20(x0, x1, ty_Int)
new_primEqNat0(Succ(x0), Succ(x1))
new_gt0(x0, x1, ty_Float)
new_ltEs19(x0, x1, ty_Float)
new_esEs17(False, False)
new_ltEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_compare210(x0, x1, True, x2, x3, x4)
new_compare14(x0, x1, True, x2, x3)
new_esEs7(Left(x0), Left(x1), ty_Integer, x2)
new_gt0(x0, x1, ty_Bool)
new_lt20(x0, x1, ty_Integer)
new_esEs7(Right(x0), Right(x1), x2, ty_Char)
new_compare110(x0, x1, False, x2)
new_ltEs8(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_esEs27(x0, x1, ty_Float)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, ty_Int)
new_esEs4(Just(x0), Just(x1), ty_Bool)
new_compare29(x0, x1, False, x2)
new_ltEs21(x0, x1, ty_Bool)
new_ltEs6(EQ, EQ)
new_compare24(Left(x0), Right(x1), False, x2, x3)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_compare24(Right(x0), Left(x1), False, x2, x3)
new_pePe(False, x0)
new_esEs22(x0, x1, app(ty_[], x2))
new_esEs8(LT, GT)
new_esEs8(GT, LT)
new_compare9(Integer(x0), Integer(x1))
new_pePe(True, x0)
new_gt0(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs9(x0, x1, x2)
new_esEs28(x0, x1, ty_Int)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_esEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_lt6(x0, x1, app(ty_Ratio, x2))
new_esEs4(Just(x0), Just(x1), ty_@0)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs4(Just(x0), Just(x1), ty_Int)
new_esEs12([], [], x0)
new_ltEs6(LT, EQ)
new_ltEs20(x0, x1, ty_@0)
new_ltEs6(EQ, LT)
new_compare7(:%(x0, x1), :%(x2, x3), ty_Integer)
new_lt5(x0, x1, app(ty_Maybe, x2))
new_ltEs4(Left(x0), Left(x1), ty_Char, x2)
new_compare31(x0, x1, app(ty_Ratio, x2))
new_ltEs8(Just(x0), Nothing, x1)
new_ltEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_primEqNat0(Zero, Zero)
new_ltEs19(x0, x1, ty_Double)
new_compare31(x0, x1, app(app(ty_Either, x2), x3))
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Char)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs19(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Bool)
new_esEs28(x0, x1, app(ty_[], x2))
new_compare31(x0, x1, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Char)
new_compare26(x0, x1, True)
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs4(Left(x0), Left(x1), ty_Float, x2)
new_compare28(@0, @0)
new_esEs28(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Char)
new_gt0(x0, x1, ty_Int)
new_primMulNat0(Zero, Zero)
new_esEs21(x0, x1, app(ty_[], x2))
new_ltEs4(Left(x0), Right(x1), x2, x3)
new_ltEs4(Right(x0), Left(x1), x2, x3)
new_ltEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_compare31(x0, x1, ty_@0)
new_ltEs21(x0, x1, ty_Float)
new_esEs9(x0, x1, ty_Integer)
new_lt6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, ty_@0)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt21(x0, x1, ty_Double)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, ty_Bool)
new_lt5(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, ty_Double)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, ty_Int)
new_compare12(x0, x1, True, x2, x3)
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_ltEs4(Right(x0), Right(x1), x2, ty_@0)
new_esEs22(x0, x1, ty_@0)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_ltEs21(x0, x1, ty_Integer)
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_ltEs18(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, ty_Bool)
new_lt21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_lt21(x0, x1, ty_Ordering)
new_ltEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs9(x0, x1, ty_Bool)
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(Just(x0), Just(x1), ty_Float)
new_lt5(x0, x1, ty_@0)
new_esEs10(x0, x1, ty_Ordering)
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Integer)
new_esEs7(Right(x0), Right(x1), x2, ty_Double)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare12(x0, x1, False, x2, x3)
new_ltEs4(Left(x0), Left(x1), ty_@0, x2)
new_esEs12([], :(x0, x1), x2)
new_lt5(x0, x1, ty_Double)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(x0, x1, ty_Double)
new_lt21(x0, x1, app(ty_Maybe, x2))
new_compare29(x0, x1, True, x2)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_lt12(x0, x1, x2, x3)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_lt21(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs4(Nothing, Nothing, x0)
new_esEs20(x0, x1, ty_@0)
new_esEs25(x0, x1, ty_Int)
new_ltEs20(x0, x1, ty_Int)
new_lt5(x0, x1, ty_Char)
new_gt0(x0, x1, ty_Char)
new_esEs20(x0, x1, app(ty_[], x2))
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_esEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs18(x0, x1, ty_Char)
new_esEs21(x0, x1, ty_Integer)
new_compare111(x0, x1, True, x2, x3, x4)
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_asAs(False, x0)
new_ltEs20(x0, x1, ty_Char)
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs4(Nothing, Just(x0), x1)
new_esEs22(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), ty_Double)
new_lt20(x0, x1, app(ty_[], x2))
new_compare31(x0, x1, ty_Ordering)
new_primCmpNat1(x0, Zero)
new_primCmpNat2(Zero, x0)
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs11(x0, x1)
new_esEs7(Left(x0), Left(x1), ty_Bool, x2)
new_primPlusNat0(Zero, Zero)
new_ltEs4(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs19(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Ordering)
new_esEs13(:%(x0, x1), :%(x2, x3), x4)
new_compare13(x0, x1, True)
new_lt6(x0, x1, ty_Float)
new_sr(x0, x1)
new_ltEs8(Just(x0), Just(x1), ty_Int)
new_compare27(x0, x1, False, x2, x3)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_compare7(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs7(Left(x0), Left(x1), ty_@0, x2)
new_compare0([], :(x0, x1), x2)
new_esEs4(Just(x0), Just(x1), ty_Ordering)
new_primMulNat0(Zero, Succ(x0))
new_ltEs18(x0, x1, ty_Integer)
new_compare8(x0, x1)
new_ltEs4(Left(x0), Left(x1), ty_Double, x2)
new_compare31(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Bool)
new_compare210(x0, x1, False, x2, x3, x4)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_esEs4(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, ty_Ordering)
new_esEs10(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(Left(x0), Left(x1), ty_Float, x2)
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_ltEs5(x0, x1)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_compare0(:(x0, x1), :(x2, x3), x4)
new_lt15(x0, x1)
new_esEs9(x0, x1, ty_Double)
new_ltEs7(x0, x1, x2)
new_ltEs20(x0, x1, ty_Ordering)
new_lt11(x0, x1, x2)
new_lt6(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Ordering)
new_ltEs8(Just(x0), Just(x1), ty_Bool)
new_primPlusNat0(Succ(x0), Succ(x1))
new_compare19(x0, x1, False, x2, x3)
new_esEs4(Just(x0), Nothing, x1)
new_lt6(x0, x1, ty_Integer)
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_lt6(x0, x1, app(ty_[], x2))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Double)
new_ltEs8(Just(x0), Just(x1), ty_Double)
new_compare31(x0, x1, app(ty_[], x2))
new_esEs14(Integer(x0), Integer(x1))
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_esEs25(x0, x1, ty_Float)
new_primEqInt(Neg(Zero), Pos(Zero))
new_primEqInt(Pos(Zero), Neg(Zero))
new_primMulNat0(Succ(x0), Zero)
new_esEs10(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Int)
new_esEs28(x0, x1, ty_Double)
new_esEs16(Double(x0, x1), Double(x2, x3))
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_gt0(x0, x1, app(ty_Maybe, x2))
new_compare6(x0, x1)
new_compare31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_lt5(x0, x1, ty_Bool)
new_lt13(x0, x1)
new_primCompAux1(x0, x1, x2, x3)
new_esEs7(Right(x0), Left(x1), x2, x3)
new_esEs7(Left(x0), Right(x1), x2, x3)
new_esEs7(Right(x0), Right(x1), x2, ty_Int)
new_ltEs8(Nothing, Just(x0), x1)
new_lt6(x0, x1, app(app(ty_@2, x2), x3))
new_primCompAux0(x0, LT)
new_esEs7(Right(x0), Right(x1), x2, ty_@0)
new_lt18(x0, x1)
new_gt0(x0, x1, app(app(ty_Either, x2), x3))
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs8(EQ, EQ)
new_compare13(x0, x1, False)
new_primPlusNat0(Zero, Succ(x0))
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs8(Just(x0), Just(x1), ty_Ordering)
new_ltEs19(x0, x1, ty_Integer)
new_ltEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_esEs10(x0, x1, ty_Float)
new_lt17(x0, x1)
new_lt9(x0, x1, x2)
new_gt0(x0, x1, app(ty_[], x2))
new_esEs22(x0, x1, ty_Int)
new_primMulInt(Neg(x0), Pos(x1))
new_primMulInt(Pos(x0), Neg(x1))
new_lt20(x0, x1, ty_Char)
new_lt6(x0, x1, app(ty_Maybe, x2))
new_esEs11(x0, x1)
new_lt5(x0, x1, ty_Integer)
new_ltEs8(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs12(:(x0, x1), :(x2, x3), x4)
new_ltEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_lt21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_sr0(Integer(x0), Integer(x1))
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs10(@2(x0, x1), @2(x2, x3), x4, x5)
new_lt6(x0, x1, ty_Bool)
new_esEs9(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Double)
new_ltEs12(x0, x1)
new_esEs22(x0, x1, ty_Bool)
new_esEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_lt5(x0, x1, ty_Float)
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_ltEs8(Just(x0), Just(x1), app(ty_Maybe, x2))
new_ltEs20(x0, x1, ty_Integer)
new_ltEs8(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_gt0(x0, x1, ty_Ordering)
new_esEs4(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs20(x0, x1, ty_Float)
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs4(Just(x0), Just(x1), app(ty_Maybe, x2))
new_ltEs6(GT, GT)
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_primMulInt(Neg(x0), Neg(x1))
new_esEs8(GT, EQ)
new_esEs8(EQ, GT)
new_primEqNat0(Succ(x0), Zero)
new_esEs27(x0, x1, ty_@0)
new_lt6(x0, x1, ty_Double)
new_esEs26(x0, x1, ty_Ordering)
new_compare24(Left(x0), Left(x1), False, x2, x3)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_esEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs24(x0, x1, ty_Integer)
new_primCmpNat0(Zero, Zero)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs4(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_compare19(x0, x1, True, x2, x3)
new_esEs10(x0, x1, ty_@0)
new_ltEs6(LT, LT)
new_esEs26(x0, x1, ty_Char)
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs18(x0, x1, ty_@0)
new_esEs28(x0, x1, ty_Ordering)
new_esEs25(x0, x1, ty_Integer)
new_ltEs21(x0, x1, app(ty_[], x2))
new_compare0([], [], x0)
new_compare0(:(x0, x1), [], x2)
new_primCmpNat0(Zero, Succ(x0))
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_esEs22(x0, x1, ty_Char)
new_compare31(x0, x1, ty_Int)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs8(Just(x0), Just(x1), ty_@0)
new_esEs28(x0, x1, ty_Char)
new_primPlusNat0(Succ(x0), Zero)
new_gt0(x0, x1, ty_Double)
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_primMulInt(Pos(x0), Pos(x1))
new_esEs22(x0, x1, ty_Double)
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_lt21(x0, x1, ty_@0)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_gt0(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs8(Just(x0), Just(x1), ty_Integer)
new_ltEs21(x0, x1, ty_Char)
new_esEs27(x0, x1, ty_Int)
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_lt21(x0, x1, ty_Integer)
new_ltEs4(Right(x0), Right(x1), x2, ty_Float)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Integer)
new_lt14(x0, x1)
new_lt21(x0, x1, ty_Char)
new_lt16(x0, x1, x2, x3)
new_compare25(x0, x1, True)
new_ltEs14(True, True)
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_ltEs14(False, False)
new_esEs27(x0, x1, ty_Double)
new_lt5(x0, x1, app(ty_Ratio, x2))
new_compare14(x0, x1, False, x2, x3)
new_esEs22(x0, x1, ty_Float)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_esEs4(Just(x0), Just(x1), app(ty_Ratio, x2))
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_compare10(Float(x0, x1), Float(x2, x3))
new_esEs24(x0, x1, ty_Int)
new_not(True)
new_ltEs20(x0, x1, app(ty_[], x2))
new_compare18(x0, x1, x2, x3)
new_ltEs8(Just(x0), Just(x1), ty_Float)
new_esEs27(x0, x1, ty_Char)
new_ltEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_lt21(x0, x1, app(ty_[], x2))
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_ltEs21(x0, x1, ty_@0)
new_compare32(x0, x1, x2)
new_esEs21(x0, x1, ty_@0)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Double)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_not(False)
new_compare24(Right(x0), Right(x1), False, x2, x3)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_lt10(x0, x1, x2)
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, ty_Ordering)
new_lt6(x0, x1, ty_Char)
new_esEs4(Just(x0), Just(x1), ty_Integer)
new_ltEs4(Right(x0), Right(x1), x2, ty_Int)
new_ltEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_lt21(x0, x1, ty_Int)
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_@0)
new_compare25(x0, x1, False)
new_ltEs6(EQ, GT)
new_ltEs6(GT, EQ)
new_compare31(x0, x1, ty_Integer)
new_ltEs18(x0, x1, ty_Double)
new_ltEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_esEs9(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Double)
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs21(x0, x1, ty_Float)
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_@0)
new_ltEs13(x0, x1)
new_ltEs8(Just(x0), Just(x1), ty_Char)
new_esEs15(Char(x0), Char(x1))
new_compare16(x0, x1)
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_ltEs15(x0, x1)
new_esEs9(x0, x1, ty_Float)
new_asAs(True, x0)
new_esEs4(Just(x0), Just(x1), app(ty_[], x2))
new_esEs8(EQ, LT)
new_esEs8(LT, EQ)
new_lt21(x0, x1, ty_Float)
new_primCompAux0(x0, GT)
new_ltEs18(x0, x1, ty_Ordering)
new_esEs9(x0, x1, ty_Int)
new_lt7(x0, x1)
new_lt6(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(Right(x0), Right(x1), x2, ty_Bool)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, ty_Bool)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs20(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_@0)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs17(False, True)
new_esEs17(True, False)
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_compare110(x0, x1, True, x2)
new_gt0(x0, x1, app(ty_Ratio, x2))
new_esEs25(x0, x1, ty_Char)
new_ltEs4(Left(x0), Left(x1), ty_Int, x2)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, ty_Float)
new_esEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs17(True, True)
new_esEs23(x0, x1, ty_Int)
new_compare26(x0, x1, False)
new_esEs12(:(x0, x1), [], x2)
new_primEqNat0(Zero, Succ(x0))
new_compare17(x0, x1, x2, x3, x4)
new_primCmpNat2(Succ(x0), x1)
new_esEs10(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_Bool)
new_compare31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs28(x0, x1, ty_@0)
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_compare30(x0, x1, x2, x3)
new_ltEs19(x0, x1, app(ty_[], x2))
new_lt20(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, ty_Ordering)
new_esEs19(@0, @0)
new_compare11(x0, x1, False)
new_esEs20(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_Int)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs20(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Bool)
new_esEs7(Left(x0), Left(x1), ty_Int, x2)
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_compare11(x0, x1, True)
new_primPlusNat1(Succ(x0), x1)
new_esEs7(Right(x0), Right(x1), x2, ty_Integer)
new_lt19(x0, x1, x2, x3, x4)
new_esEs9(x0, x1, ty_@0)
new_esEs7(Left(x0), Left(x1), ty_Double, x2)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ HASKELL
  ↳ LR
    ↳ HASKELL
      ↳ CR
        ↳ HASKELL
          ↳ IFR
            ↳ HASKELL
              ↳ BR
                ↳ HASKELL
                  ↳ COR
                    ↳ HASKELL
                      ↳ LetRed
                        ↳ HASKELL
                          ↳ NumRed
                            ↳ HASKELL
                              ↳ Narrow
                                ↳ AND
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
                                  ↳ QDP
QDP
                                    ↳ QDPSizeChangeProof

Q DP problem:
The TRS P consists of the following rules:

new_plusFM_C(ywz3, Branch(ywz40, ywz41, ywz42, ywz43, ywz44), Branch(ywz50, ywz51, ywz52, ywz53, ywz54), h, ba, bb) → new_plusFM_C(ywz3, new_splitGT30(ywz40, ywz41, ywz42, ywz43, ywz44, ywz50, h, ba, bb), ywz54, h, ba, bb)
new_plusFM_C(ywz3, Branch(ywz40, ywz41, ywz42, ywz43, ywz44), Branch(ywz50, ywz51, ywz52, ywz53, ywz54), h, ba, bb) → new_plusFM_C(ywz3, new_splitLT30(ywz40, ywz41, ywz42, ywz43, ywz44, ywz50, h, ba, bb), ywz53, h, ba, bb)

The TRS R consists of the following rules:

new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bgd)) → new_esEs4(ywz5000, ywz4000, bgd)
new_lt14(ywz5000, ywz4000) → new_esEs8(new_compare5(ywz5000, ywz4000), LT)
new_mkBalBranch6MkBalBranch11(ywz2190, ywz2191, ywz2192, ywz2193, ywz2194, ywz1180, ywz1181, ywz1184, True, ed, ee, ef) → new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))), ywz2190, ywz2191, ywz2193, new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))), ywz1180, ywz1181, ywz2194, ywz1184, app(app(ty_Either, ed), ee), ef), app(app(ty_Either, ed), ee), ef)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_Either, ca), cb), bc) → new_esEs7(ywz5000, ywz4000, ca, cb)
new_compare31(ywz5000, ywz4000, ty_Double) → new_compare15(ywz5000, ywz4000)
new_primCmpNat2(Zero, ywz50000) → LT
new_esEs12(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bcd) → new_asAs(new_esEs20(ywz5000, ywz4000, bcd), new_esEs12(ywz5001, ywz4001, bcd))
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_ltEs11(ywz500, ywz400) → new_not(new_esEs8(new_compare9(ywz500, ywz400), GT))
new_ltEs20(ywz500, ywz400, app(ty_Ratio, bdb)) → new_ltEs9(ywz500, ywz400, bdb)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Maybe, be), bc) → new_esEs4(ywz5000, ywz4000, be)
new_mkBalBranch(ywz1180, ywz1181, ywz219, ywz1184, ed, ee, ef) → new_mkBalBranch6MkBalBranch5(ywz219, ywz1180, ywz1181, ywz1184, new_esEs8(new_compare8(new_primPlusInt2(ywz219, ywz1180, ywz1181, ywz1184, ed, ee, ef), Pos(Succ(Succ(Zero)))), LT), ed, ee, ef)
new_esEs31(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_esEs31(ywz500, ywz400, app(ty_[], bcd)) → new_esEs12(ywz500, ywz400, bcd)
new_ltEs18(ywz5002, ywz4002, ty_Float) → new_ltEs15(ywz5002, ywz4002)
new_mkBalBranch6MkBalBranch4(ywz219, ywz1180, ywz1181, Branch(ywz11840, ywz11841, ywz11842, ywz11843, ywz11844), True, ed, ee, ef) → new_mkBalBranch6MkBalBranch01(ywz219, ywz1180, ywz1181, ywz11840, ywz11841, ywz11842, ywz11843, ywz11844, new_lt7(new_sizeFM1(ywz11843, ed, ee, ef), new_sr(Pos(Succ(Succ(Zero))), new_sizeFM1(ywz11844, ed, ee, ef))), ed, ee, ef)
new_mkVBalBranch0(ywz18, ywz19, Branch(ywz210, ywz211, ywz212, ywz213, ywz214), EmptyFM, ed, ee, ef) → new_addToFM0(Branch(ywz210, ywz211, ywz212, ywz213, ywz214), ywz18, ywz19, ed, ee, ef)
new_esEs4(Just(ywz5000), Nothing, bce) → False
new_esEs4(Nothing, Just(ywz4000), bce) → False
new_splitGT25(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba, bb) → new_splitGT16(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_lt16(Right(ywz500), Left(ywz400), h, ba), h, ba, bb)
new_esEs21(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_compare24(Left(ywz500), Left(ywz400), False, h, ba) → new_compare14(ywz500, ywz400, new_ltEs19(ywz500, ywz400, h), h, ba)
new_splitGT14(ywz48, ywz49, ywz50, ywz51, ywz52, ywz53, False, cag, cah, cba) → ywz52
new_splitLT26(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba, bb) → new_splitLT16(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare18(Right(ywz500), Left(ywz400), h, ba), GT), h, ba, bb)
new_ltEs4(Right(ywz5000), Right(ywz4000), cf, ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_compare26(ywz5000, ywz4000, False) → new_compare13(ywz5000, ywz4000, new_ltEs6(ywz5000, ywz4000))
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_primPlusInt2(Branch(ywz2190, ywz2191, Pos(ywz21920), ywz2193, ywz2194), ywz1180, ywz1181, ywz1184, ed, ee, ef) → new_primPlusInt(ywz21920, new_sizeFM1(ywz1184, ed, ee, ef))
new_ltEs20(ywz500, ywz400, app(ty_[], bch)) → new_ltEs7(ywz500, ywz400, bch)
new_esEs9(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_addToFM_C30(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, h, ba, bb) → new_addToFM_C20(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_lt16(ywz50, ywz740, h, ba), h, ba, bb)
new_compare31(ywz5000, ywz4000, ty_Ordering) → new_compare16(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Int) → new_compare8(ywz5000, ywz4000)
new_sizeFM0(Branch(ywz3870, ywz3871, ywz3872, ywz3873, ywz3874), fc, fd) → ywz3872
new_esEs10(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_mkBalBranch6Size_l(ywz219, ywz1180, ywz1181, ywz1184, ed, ee, ef) → new_sizeFM1(ywz219, ed, ee, ef)
new_splitLT13(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, False, eh, fa, fb) → ywz36
new_primMulNat0(Zero, Zero) → Zero
new_lt20(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, ty_Bool) → new_lt4(ywz5001, ywz4001)
new_splitGT30(Right(ywz400), ywz41, ywz42, ywz43, ywz44, Right(ywz500), h, ba, bb) → new_splitGT26(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Right(ywz500), Right(ywz400), new_esEs30(ywz500, ywz400, ba), h, ba), GT), h, ba, bb)
new_esEs7(Right(ywz5000), Right(ywz4000), cf, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, bhb), bhc), bhd)) → new_esEs6(ywz5000, ywz4000, bhb, bhc, bhd)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Int, bc) → new_ltEs5(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(ty_Maybe, bhf)) → new_esEs4(ywz5000, ywz4000, bhf)
new_ltEs21(ywz5001, ywz4001, app(app(app(ty_@3, bff), bfg), bfh)) → new_ltEs17(ywz5001, ywz4001, bff, bfg, bfh)
new_ltEs10(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcf, bcg) → new_pePe(new_lt20(ywz5000, ywz4000, bcf), new_asAs(new_esEs28(ywz5000, ywz4000, bcf), new_ltEs21(ywz5001, ywz4001, bcg)))
new_gt(ywz50, ywz40, h, ba) → new_esEs8(new_compare18(ywz50, ywz40, h, ba), GT)
new_esEs21(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_splitGT30(Left(ywz400), ywz41, ywz42, ywz43, ywz44, Right(ywz500), h, ba, bb) → new_splitGT25(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Right(ywz500), Left(ywz400), False, h, ba), GT), h, ba, bb)
new_ltEs20(ywz500, ywz400, app(ty_Maybe, bda)) → new_ltEs8(ywz500, ywz400, bda)
new_splitLT16(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba, bb) → ywz43
new_esEs32(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), cf, ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_splitGT15(ywz63, ywz64, ywz65, ywz66, ywz67, ywz68, False, cbb, cbc, cbd) → ywz67
new_lt10(ywz5000, ywz4000, bec) → new_esEs8(new_compare32(ywz5000, ywz4000, bec), LT)
new_esEs7(Right(ywz5000), Right(ywz4000), cf, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_splitLT15(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba, bb) → new_mkVBalBranch(ywz400, ywz41, ywz43, new_splitLT5(ywz44, ywz500, h, ba, bb), h, ba, bb)
new_ltEs14(False, True) → True
new_esEs25(ywz5002, ywz4002, ty_Bool) → new_esEs17(ywz5002, ywz4002)
new_esEs26(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_lt8(ywz5000, ywz4000) → new_esEs8(new_compare16(ywz5000, ywz4000), LT)
new_mkVBalBranch2(ywz50, ywz9, Branch(ywz7440, ywz7441, ywz7442, ywz7443, ywz7444), ywz60, ywz61, ywz62, ywz63, ywz64, h, ba, bb) → new_mkVBalBranch30(ywz50, ywz9, ywz7440, ywz7441, ywz7442, ywz7443, ywz7444, ywz60, ywz61, ywz62, ywz63, ywz64, h, ba, bb)
new_esEs25(ywz5002, ywz4002, ty_Double) → new_esEs16(ywz5002, ywz4002)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Double, bc) → new_ltEs13(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, app(app(ty_Either, bde), bdf)) → new_esEs7(ywz500, ywz400, bde, bdf)
new_splitGT16(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba, bb) → new_mkVBalBranch0(ywz400, ywz41, new_splitGT5(ywz43, ywz500, h, ba, bb), ywz44, h, ba, bb)
new_compare24(Left(ywz500), Right(ywz400), False, h, ba) → LT
new_ltEs9(ywz500, ywz400, eg) → new_not(new_esEs8(new_compare7(ywz500, ywz400, eg), GT))
new_splitGT30(Right(ywz400), ywz41, ywz42, ywz43, ywz44, Left(ywz500), h, ba, bb) → new_splitGT23(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Left(ywz500), Right(ywz400), False, h, ba), GT), h, ba, bb)
new_compare5(Char(ywz5000), Char(ywz4000)) → new_primCmpNat0(ywz5000, ywz4000)
new_esEs17(True, True) → True
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_@2, bg), bh), bc) → new_ltEs10(ywz5000, ywz4000, bg, bh)
new_esEs27(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs18(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_ltEs18(ywz5002, ywz4002, app(ty_Ratio, gf)) → new_ltEs9(ywz5002, ywz4002, gf)
new_esEs12([], [], bcd) → True
new_mkVBalBranch3Size_l(ywz60, ywz61, ywz62, ywz63, ywz64, ywz70, ywz71, ywz72, ywz73, ywz74, h, ba, bb) → new_sizeFM(ywz70, ywz71, ywz72, ywz73, ywz74, h, ba, bb)
new_esEs20(ywz5000, ywz4000, app(ty_Ratio, bhg)) → new_esEs13(ywz5000, ywz4000, bhg)
new_splitGT5(Branch(ywz440, ywz441, ywz442, ywz443, ywz444), ywz500, h, ba, bb) → new_splitGT30(ywz440, ywz441, ywz442, ywz443, ywz444, Right(ywz500), h, ba, bb)
new_ltEs15(ywz500, ywz400) → new_not(new_esEs8(new_compare10(ywz500, ywz400), GT))
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Integer, bc) → new_esEs14(ywz5000, ywz4000)
new_ltEs21(ywz5001, ywz4001, ty_Int) → new_ltEs5(ywz5001, ywz4001)
new_mkBalBranch6MkBalBranch01(ywz219, ywz1180, ywz1181, ywz11840, ywz11841, ywz11842, Branch(ywz118430, ywz118431, ywz118432, ywz118433, ywz118434), ywz11844, False, ed, ee, ef) → new_mkBranch(Succ(Succ(Succ(Succ(Zero)))), ywz118430, ywz118431, new_mkBranch(Succ(Succ(Succ(Succ(Succ(Zero))))), ywz1180, ywz1181, ywz219, ywz118433, app(app(ty_Either, ed), ee), ef), new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))), ywz11840, ywz11841, ywz118434, ywz11844, app(app(ty_Either, ed), ee), ef), app(app(ty_Either, ed), ee), ef)
new_esEs22(ywz5000, ywz4000, app(app(ty_@2, bcb), bcc)) → new_esEs5(ywz5000, ywz4000, bcb, bcc)
new_lt9(ywz5000, ywz4000, beb) → new_esEs8(new_compare0(ywz5000, ywz4000, beb), LT)
new_esEs26(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Maybe, be), bc) → new_ltEs8(ywz5000, ywz4000, be)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Char, bc) → new_ltEs12(ywz5000, ywz4000)
new_splitGT14(ywz48, ywz49, ywz50, ywz51, ywz52, ywz53, True, cag, cah, cba) → new_mkVBalBranch0(ywz48, ywz49, new_splitGT4(ywz51, ywz53, cag, cah, cba), ywz52, cag, cah, cba)
new_esEs29(ywz500, ywz400, ty_Float) → new_esEs18(ywz500, ywz400)
new_esEs26(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(ty_Maybe, hg)) → new_esEs4(ywz5001, ywz4001, hg)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, cc), cd), ce), bc) → new_ltEs17(ywz5000, ywz4000, cc, cd, ce)
new_ltEs18(ywz5002, ywz4002, app(ty_[], gd)) → new_ltEs7(ywz5002, ywz4002, gd)
new_primCmpNat1(ywz50000, Succ(ywz40000)) → new_primCmpNat0(ywz50000, ywz40000)
new_lt20(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(app(ty_Either, bee), bef)) → new_esEs7(ywz5000, ywz4000, bee, bef)
new_esEs7(Right(ywz5000), Right(ywz4000), cf, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_splitLT13(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, True, eh, fa, fb) → new_mkVBalBranch(ywz33, ywz34, ywz36, new_splitLT4(ywz37, ywz38, eh, fa, fb), eh, fa, fb)
new_esEs9(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_splitLT4(EmptyFM, ywz500, h, ba, bb) → new_emptyFM(h, ba, bb)
new_mkVBalBranch3MkVBalBranch20(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, True, h, ba, bb) → new_mkBalBranch(ywz60, ywz61, new_mkVBalBranch1(ywz50, ywz9, ywz740, ywz741, ywz742, ywz743, ywz744, ywz63, h, ba, bb), ywz64, h, ba, bb)
new_lt20(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_ltEs19(ywz500, ywz400, app(app(ty_Either, cf), bc)) → new_ltEs4(ywz500, ywz400, cf, bc)
new_pePe(False, ywz225) → ywz225
new_esEs29(ywz500, ywz400, ty_Double) → new_esEs16(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), cf, ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Left(ywz4000), cf, bc) → False
new_esEs7(Left(ywz5000), Right(ywz4000), cf, bc) → False
new_esEs12(:(ywz5000, ywz5001), [], bcd) → False
new_esEs12([], :(ywz4000, ywz4001), bcd) → False
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Ordering, bc) → new_ltEs6(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_primCmpNat1(ywz50000, Zero) → GT
new_esEs28(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(app(ty_Either, bbe), bbf)) → new_esEs7(ywz5000, ywz4000, bbe, bbf)
new_primPlusInt(ywz21920, Pos(ywz2850)) → Pos(new_primPlusNat0(ywz21920, ywz2850))
new_mkVBalBranch0(ywz18, ywz19, Branch(ywz210, ywz211, ywz212, ywz213, ywz214), Branch(ywz1180, ywz1181, ywz1182, ywz1183, ywz1184), ed, ee, ef) → new_mkVBalBranch3MkVBalBranch20(ywz1180, ywz1181, ywz1182, ywz1183, ywz1184, ywz210, ywz211, ywz212, ywz213, ywz214, Left(ywz18), ywz19, new_lt22(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(ywz1180, ywz1181, ywz1182, ywz1183, ywz1184, ywz210, ywz211, ywz212, ywz213, ywz214, ed, ee, ef)), ywz1180, ywz1181, ywz1182, ywz1183, ywz1184, ywz210, ywz211, ywz212, ywz213, ywz214, ed, ee, ef), ed, ee, ef)
new_esEs26(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_ltEs4(Right(ywz5000), Right(ywz4000), cf, ty_@0) → new_ltEs16(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_ltEs20(ywz500, ywz400, app(app(ty_Either, bde), bdf)) → new_ltEs4(ywz500, ywz400, bde, bdf)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bge)) → new_ltEs9(ywz5000, ywz4000, bge)
new_ltEs6(GT, EQ) → False
new_mkVBalBranch1(ywz50, ywz9, ywz740, ywz741, ywz742, ywz743, ywz744, Branch(ywz630, ywz631, ywz632, ywz633, ywz634), h, ba, bb) → new_mkVBalBranch30(ywz50, ywz9, ywz740, ywz741, ywz742, ywz743, ywz744, ywz630, ywz631, ywz632, ywz633, ywz634, h, ba, bb)
new_ltEs4(Right(ywz5000), Right(ywz4000), cf, app(app(ty_Either, de), df)) → new_ltEs4(ywz5000, ywz4000, de, df)
new_esEs22(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs29(ywz500, ywz400, app(ty_Ratio, eg)) → new_esEs13(ywz500, ywz400, eg)
new_esEs31(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), cf, ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, app(app(ty_@2, bhh), caa)) → new_esEs5(ywz5000, ywz4000, bhh, caa)
new_esEs14(Integer(ywz5000), Integer(ywz4000)) → new_primEqInt(ywz5000, ywz4000)
new_mkBalBranch6MkBalBranch01(ywz219, ywz1180, ywz1181, ywz11840, ywz11841, ywz11842, ywz11843, ywz11844, True, ed, ee, ef) → new_mkBranch(Succ(Succ(Zero)), ywz11840, ywz11841, new_mkBranch(Succ(Succ(Succ(Zero))), ywz1180, ywz1181, ywz219, ywz11843, app(app(ty_Either, ed), ee), ef), ywz11844, app(app(ty_Either, ed), ee), ef)
new_primPlusInt1(ywz21920, Pos(ywz2860)) → new_primMinusNat0(ywz2860, ywz21920)
new_ltEs4(Left(ywz5000), Right(ywz4000), cf, bc) → True
new_splitLT30(Right(ywz400), ywz41, ywz42, ywz43, ywz44, Left(ywz500), h, ba, bb) → new_splitLT25(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Left(ywz500), Right(ywz400), False, h, ba), LT), h, ba, bb)
new_esEs32(ywz500, ywz400, app(ty_Maybe, bda)) → new_esEs4(ywz500, ywz400, bda)
new_esEs7(Right(ywz5000), Right(ywz4000), cf, app(app(ty_@2, dc), dd)) → new_esEs5(ywz5000, ywz4000, dc, dd)
new_primCmpNat0(Zero, Succ(ywz400000)) → LT
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Bool, bc) → new_ltEs14(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, ty_Char) → new_lt14(ywz5001, ywz4001)
new_ltEs8(Nothing, Just(ywz4000), bce) → True
new_ltEs19(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_splitGT5(EmptyFM, ywz500, h, ba, bb) → new_emptyFM(h, ba, bb)
new_splitGT26(ywz63, ywz64, ywz65, ywz66, ywz67, ywz68, True, cbb, cbc, cbd) → new_splitGT5(ywz67, ywz68, cbb, cbc, cbd)
new_esEs8(LT, LT) → True
new_esEs30(ywz500, ywz400, ty_Float) → new_esEs18(ywz500, ywz400)
new_lt6(ywz5001, ywz4001, ty_Ordering) → new_lt8(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Ratio, bfa)) → new_esEs13(ywz5001, ywz4001, bfa)
new_mkVBalBranch0(ywz18, ywz19, EmptyFM, ywz118, ed, ee, ef) → new_addToFM0(ywz118, ywz18, ywz19, ed, ee, ef)
new_primPlusInt0(Neg(ywz4230), ywz388, ywz385, ywz387, fc, fd) → new_primPlusInt1(ywz4230, new_sizeFM0(ywz388, fc, fd))
new_esEs28(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(app(app(ty_@3, bbg), bbh), bca)) → new_lt19(ywz5000, ywz4000, bbg, bbh, bca)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Int, bc) → new_esEs11(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_Ratio, bf), bc) → new_ltEs9(ywz5000, ywz4000, bf)
new_addToFM_C20(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, False, h, ba, bb) → new_addToFM_C10(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_gt(ywz50, ywz740, h, ba), h, ba, bb)
new_esEs30(ywz500, ywz400, ty_@0) → new_esEs19(ywz500, ywz400)
new_esEs25(ywz5002, ywz4002, ty_Ordering) → new_esEs8(ywz5002, ywz4002)
new_gt1(ywz277, ywz276) → new_esEs8(new_compare8(ywz277, ywz276), GT)
new_ltEs18(ywz5002, ywz4002, ty_Double) → new_ltEs13(ywz5002, ywz4002)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_@0, bc) → new_ltEs16(ywz5000, ywz4000)
new_mkBalBranch6MkBalBranch3(Branch(ywz2190, ywz2191, ywz2192, ywz2193, ywz2194), ywz1180, ywz1181, ywz1184, True, ed, ee, ef) → new_mkBalBranch6MkBalBranch11(ywz2190, ywz2191, ywz2192, ywz2193, ywz2194, ywz1180, ywz1181, ywz1184, new_lt7(new_sizeFM1(ywz2194, ed, ee, ef), new_sr(Pos(Succ(Succ(Zero))), new_sizeFM1(ywz2193, ed, ee, ef))), ed, ee, ef)
new_splitGT4(Branch(ywz440, ywz441, ywz442, ywz443, ywz444), ywz500, h, ba, bb) → new_splitGT30(ywz440, ywz441, ywz442, ywz443, ywz444, Left(ywz500), h, ba, bb)
new_esEs25(ywz5002, ywz4002, app(ty_Ratio, gf)) → new_esEs13(ywz5002, ywz4002, gf)
new_esEs20(ywz5000, ywz4000, app(app(app(ty_@3, cad), cae), caf)) → new_esEs6(ywz5000, ywz4000, cad, cae, caf)
new_mkVBalBranch3MkVBalBranch10(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, False, h, ba, bb) → new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))))), ywz50, ywz9, Branch(ywz740, ywz741, ywz742, ywz743, ywz744), Branch(ywz60, ywz61, ywz62, ywz63, ywz64), app(app(ty_Either, h), ba), bb)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_[], bgc)) → new_ltEs7(ywz5000, ywz4000, bgc)
new_compare0([], [], bcd) → EQ
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Int) → new_compare8(new_sr(ywz5000, ywz4001), new_sr(ywz4000, ywz5001))
new_compare7(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), ty_Integer) → new_compare9(new_sr0(ywz5000, ywz4001), new_sr0(ywz4000, ywz5001))
new_pePe(True, ywz225) → True
new_compare14(ywz147, ywz148, False, bga, bgb) → GT
new_ltEs21(ywz5001, ywz4001, ty_Double) → new_ltEs13(ywz5001, ywz4001)
new_primEqNat0(Zero, Zero) → True
new_compare31(ywz5000, ywz4000, app(app(ty_Either, cab), cac)) → new_compare18(ywz5000, ywz4000, cab, cac)
new_compare26(ywz5000, ywz4000, True) → EQ
new_esEs20(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, app(ty_[], bah)) → new_esEs12(ywz5000, ywz4000, bah)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(ty_@2, bg), bh), bc) → new_esEs5(ywz5000, ywz4000, bg, bh)
new_ltEs21(ywz5001, ywz4001, app(ty_[], beg)) → new_ltEs7(ywz5001, ywz4001, beg)
new_primMulNat0(Succ(ywz500000), Succ(ywz400000)) → new_primPlusNat1(new_primMulNat0(ywz500000, Succ(ywz400000)), ywz400000)
new_splitLT16(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba, bb) → new_mkVBalBranch0(ywz400, ywz41, ywz43, new_splitLT4(ywz44, ywz500, h, ba, bb), h, ba, bb)
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_[], bgc)) → new_esEs12(ywz5000, ywz4000, bgc)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(app(ty_@3, bhb), bhc), bhd)) → new_ltEs17(ywz5000, ywz4000, bhb, bhc, bhd)
new_splitLT23(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, True, eh, fa, fb) → new_splitLT4(ywz36, ywz38, eh, fa, fb)
new_sizeFM1(EmptyFM, ed, ee, ef) → Pos(Zero)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Bool) → new_ltEs14(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, app(ty_Ratio, hh)) → new_esEs13(ywz5001, ywz4001, hh)
new_lt20(ywz5000, ywz4000, app(ty_[], beb)) → new_lt9(ywz5000, ywz4000, beb)
new_esEs27(ywz5000, ywz4000, app(ty_Ratio, bbb)) → new_esEs13(ywz5000, ywz4000, bbb)
new_mkBalBranch6MkBalBranch5(ywz219, ywz1180, ywz1181, ywz1184, False, ed, ee, ef) → new_mkBalBranch6MkBalBranch4(ywz219, ywz1180, ywz1181, ywz1184, new_gt1(new_mkBalBranch6Size_r(ywz219, ywz1180, ywz1181, ywz1184, ed, ee, ef), new_sr(new_sIZE_RATIO, new_mkBalBranch6Size_l(ywz219, ywz1180, ywz1181, ywz1184, ed, ee, ef))), ed, ee, ef)
new_esEs29(ywz500, ywz400, ty_@0) → new_esEs19(ywz500, ywz400)
new_esEs17(False, False) → True
new_esEs17(True, False) → False
new_esEs17(False, True) → False
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Ordering, bc) → new_esEs8(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(app(ty_Either, bbe), bbf)) → new_lt16(ywz5000, ywz4000, bbe, bbf)
new_esEs15(Char(ywz5000), Char(ywz4000)) → new_primEqNat0(ywz5000, ywz4000)
new_ltEs18(ywz5002, ywz4002, ty_Int) → new_ltEs5(ywz5002, ywz4002)
new_ltEs19(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_esEs7(Right(ywz5000), Right(ywz4000), cf, app(app(app(ty_@3, dg), dh), ea)) → new_esEs6(ywz5000, ywz4000, dg, dh, ea)
new_sr(ywz5000, ywz4000) → new_primMulInt(ywz5000, ywz4000)
new_compare12(ywz154, ywz155, False, eb, ec) → GT
new_esEs20(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, ty_Bool) → new_esEs17(ywz500, ywz400)
new_lt5(ywz5000, ywz4000, app(ty_[], bah)) → new_lt9(ywz5000, ywz4000, bah)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs26(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_ltEs6(EQ, GT) → True
new_esEs8(GT, GT) → True
new_esEs21(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_ltEs18(ywz5002, ywz4002, ty_Ordering) → new_ltEs6(ywz5002, ywz4002)
new_primCmpInt(Pos(Succ(ywz50000)), Pos(ywz4000)) → new_primCmpNat1(ywz50000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), cf, app(app(ty_Either, de), df)) → new_esEs7(ywz5000, ywz4000, de, df)
new_esEs31(ywz500, ywz400, app(app(ty_Either, cf), bc)) → new_esEs7(ywz500, ywz400, cf, bc)
new_splitLT4(Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz500, h, ba, bb) → new_splitLT30(ywz430, ywz431, ywz432, ywz433, ywz434, Right(ywz500), h, ba, bb)
new_esEs26(ywz5001, ywz4001, app(app(app(ty_@3, bae), baf), bag)) → new_esEs6(ywz5001, ywz4001, bae, baf, bag)
new_esEs20(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_compare25(ywz5000, ywz4000, False) → new_compare11(ywz5000, ywz4000, new_ltEs14(ywz5000, ywz4000))
new_esEs31(ywz500, ywz400, ty_Float) → new_esEs18(ywz500, ywz400)
new_esEs8(LT, GT) → False
new_esEs8(GT, LT) → False
new_addToFM_C0(EmptyFM, ywz50, ywz9, h, ba, bb) → Branch(ywz50, ywz9, Pos(Succ(Zero)), new_emptyFM(h, ba, bb), new_emptyFM(h, ba, bb))
new_lt17(ywz5000, ywz4000) → new_esEs8(new_compare10(ywz5000, ywz4000), LT)
new_compare29(ywz5000, ywz4000, False, bec) → new_compare110(ywz5000, ywz4000, new_ltEs8(ywz5000, ywz4000, bec), bec)
new_compare16(ywz5000, ywz4000) → new_compare26(ywz5000, ywz4000, new_esEs8(ywz5000, ywz4000))
new_esEs25(ywz5002, ywz4002, app(ty_[], gd)) → new_esEs12(ywz5002, ywz4002, gd)
new_compare17(ywz5000, ywz4000, ff, fg, fh) → new_compare210(ywz5000, ywz4000, new_esEs6(ywz5000, ywz4000, ff, fg, fh), ff, fg, fh)
new_mkVBalBranch(ywz400, ywz41, Branch(ywz430, ywz431, ywz432, ywz433, ywz434), Branch(ywz1190, ywz1191, ywz1192, ywz1193, ywz1194), h, ba, bb) → new_mkVBalBranch3MkVBalBranch20(ywz1190, ywz1191, ywz1192, ywz1193, ywz1194, ywz430, ywz431, ywz432, ywz433, ywz434, Right(ywz400), ywz41, new_lt22(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(ywz1190, ywz1191, ywz1192, ywz1193, ywz1194, ywz430, ywz431, ywz432, ywz433, ywz434, h, ba, bb)), ywz1190, ywz1191, ywz1192, ywz1193, ywz1194, ywz430, ywz431, ywz432, ywz433, ywz434, h, ba, bb), h, ba, bb)
new_compare25(ywz5000, ywz4000, True) → EQ
new_primEqInt(Neg(Succ(ywz50000)), Neg(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_ltEs4(Right(ywz5000), Right(ywz4000), cf, ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_ltEs20(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_compare6(ywz5000, ywz4000) → new_compare25(ywz5000, ywz4000, new_esEs17(ywz5000, ywz4000))
new_lt20(ywz5000, ywz4000, app(ty_Ratio, bed)) → new_lt11(ywz5000, ywz4000, bed)
new_ltEs19(ywz500, ywz400, app(app(ty_@2, bcf), bcg)) → new_ltEs10(ywz500, ywz400, bcf, bcg)
new_esEs20(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(app(app(ty_@3, ff), fg), fh)) → new_esEs6(ywz5000, ywz4000, ff, fg, fh)
new_esEs28(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_splitGT16(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba, bb) → ywz44
new_esEs30(ywz500, ywz400, app(ty_Maybe, bda)) → new_esEs4(ywz500, ywz400, bda)
new_lt5(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_compare13(ywz5000, ywz4000, False) → GT
new_esEs21(ywz5001, ywz4001, ty_Char) → new_esEs15(ywz5001, ywz4001)
new_esEs28(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_esEs4(ywz5000, ywz4000, bec)
new_mkBalBranch6Size_r(ywz219, ywz1180, ywz1181, ywz1184, ed, ee, ef) → new_sizeFM1(ywz1184, ed, ee, ef)
new_ltEs19(ywz500, ywz400, app(ty_Ratio, eg)) → new_ltEs9(ywz500, ywz400, eg)
new_esEs7(Right(ywz5000), Right(ywz4000), cf, app(ty_Ratio, db)) → new_esEs13(ywz5000, ywz4000, db)
new_esEs31(ywz500, ywz400, app(app(app(ty_@3, ga), gb), gc)) → new_esEs6(ywz500, ywz400, ga, gb, gc)
new_primEqInt(Neg(Zero), Neg(Zero)) → True
new_lt13(ywz5000, ywz4000) → new_esEs8(new_compare9(ywz5000, ywz4000), LT)
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_Ratio, bf), bc) → new_esEs13(ywz5000, ywz4000, bf)
new_esEs9(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_lt6(ywz5001, ywz4001, app(ty_Ratio, hh)) → new_lt11(ywz5001, ywz4001, hh)
new_ltEs6(EQ, EQ) → True
new_ltEs20(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_primCmpNat2(Succ(ywz40000), ywz50000) → new_primCmpNat0(ywz40000, ywz50000)
new_compare8(ywz500, ywz400) → new_primCmpInt(ywz500, ywz400)
new_ltEs4(Left(ywz5000), Left(ywz4000), app(app(ty_Either, ca), cb), bc) → new_ltEs4(ywz5000, ywz4000, ca, cb)
new_splitGT25(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba, bb) → new_splitGT5(ywz44, ywz500, h, ba, bb)
new_primEqInt(Neg(Succ(ywz50000)), Neg(Zero)) → False
new_primEqInt(Neg(Zero), Neg(Succ(ywz40000))) → False
new_ltEs19(ywz500, ywz400, ty_Char) → new_ltEs12(ywz500, ywz400)
new_primCompAux0(ywz333, GT) → GT
new_esEs8(EQ, EQ) → True
new_primPlusNat1(Zero, ywz400000) → Succ(ywz400000)
new_ltEs6(GT, GT) → True
new_lt20(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_compare24(ywz50, ywz40, True, h, ba) → EQ
new_mkVBalBranch(ywz400, ywz41, EmptyFM, ywz119, h, ba, bb) → new_addToFM(ywz119, ywz400, ywz41, h, ba, bb)
new_compare31(ywz5000, ywz4000, ty_@0) → new_compare28(ywz5000, ywz4000)
new_esEs20(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_Maybe, bhf)) → new_compare32(ywz5000, ywz4000, bhf)
new_ltEs21(ywz5001, ywz4001, app(app(ty_Either, bfd), bfe)) → new_ltEs4(ywz5001, ywz4001, bfd, bfe)
new_esEs7(Right(ywz5000), Right(ywz4000), cf, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs19(@0, @0) → True
new_esEs26(ywz5001, ywz4001, app(app(ty_Either, bac), bad)) → new_esEs7(ywz5001, ywz4001, bac, bad)
new_primCmpInt(Pos(Zero), Neg(Zero)) → EQ
new_primCmpInt(Neg(Zero), Pos(Zero)) → EQ
new_esEs23(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_ltEs18(ywz5002, ywz4002, app(app(ty_@2, gg), gh)) → new_ltEs10(ywz5002, ywz4002, gg, gh)
new_mkBranch(ywz384, ywz385, ywz386, ywz387, ywz388, fc, fd) → Branch(ywz385, ywz386, new_primPlusInt0(new_primPlusInt(Succ(Zero), new_sizeFM0(ywz387, fc, fd)), ywz388, ywz385, ywz387, fc, fd), ywz387, ywz388)
new_addToFM_C20(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, True, h, ba, bb) → new_mkBalBranch(ywz740, ywz741, new_addToFM_C0(ywz743, ywz50, ywz9, h, ba, bb), ywz744, h, ba, bb)
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bgh), bha)) → new_esEs7(ywz5000, ywz4000, bgh, bha)
new_primMinusNat0(Succ(ywz219200), Zero) → Pos(Succ(ywz219200))
new_lt20(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_primCmpNat0(Succ(ywz500000), Succ(ywz400000)) → new_primCmpNat0(ywz500000, ywz400000)
new_esEs22(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_esEs4(ywz5000, ywz4000, bec)
new_esEs22(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, app(ty_Maybe, ge)) → new_esEs4(ywz5002, ywz4002, ge)
new_primEqInt(Pos(Succ(ywz50000)), Pos(Succ(ywz40000))) → new_primEqNat0(ywz50000, ywz40000)
new_compare27(ywz5000, ywz4000, True, bcb, bcc) → EQ
new_mkBalBranch6MkBalBranch01(ywz219, ywz1180, ywz1181, ywz11840, ywz11841, ywz11842, EmptyFM, ywz11844, False, ed, ee, ef) → error([])
new_esEs4(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bgf), bgg)) → new_esEs5(ywz5000, ywz4000, bgf, bgg)
new_esEs32(ywz500, ywz400, app(app(ty_Either, bde), bdf)) → new_esEs7(ywz500, ywz400, bde, bdf)
new_compare31(ywz5000, ywz4000, app(app(app(ty_@3, cad), cae), caf)) → new_compare17(ywz5000, ywz4000, cad, cae, caf)
new_compare31(ywz5000, ywz4000, ty_Bool) → new_compare6(ywz5000, ywz4000)
new_ltEs19(ywz500, ywz400, ty_Bool) → new_ltEs14(ywz500, ywz400)
new_compare12(ywz154, ywz155, True, eb, ec) → LT
new_lt22(ywz238, ywz60, ywz61, ywz62, ywz63, ywz64, ywz70, ywz71, ywz72, ywz73, ywz74, h, ba, bb) → new_esEs8(new_compare8(ywz238, new_mkVBalBranch3Size_r(ywz60, ywz61, ywz62, ywz63, ywz64, ywz70, ywz71, ywz72, ywz73, ywz74, h, ba, bb)), LT)
new_lt20(ywz5000, ywz4000, ty_Int) → new_lt7(ywz5000, ywz4000)
new_ltEs20(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_ltEs20(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_primEqNat0(Succ(ywz50000), Succ(ywz40000)) → new_primEqNat0(ywz50000, ywz40000)
new_esEs27(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_ltEs14(False, False) → True
new_esEs16(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_esEs11(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_splitLT30(Left(ywz400), ywz41, ywz42, ywz43, ywz44, Right(ywz500), h, ba, bb) → new_splitLT26(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Right(ywz500), Left(ywz400), False, h, ba), LT), h, ba, bb)
new_splitLT30(Left(ywz400), ywz41, ywz42, ywz43, ywz44, Left(ywz500), h, ba, bb) → new_splitLT24(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Left(ywz500), Left(ywz400), new_esEs31(ywz500, ywz400, h), h, ba), LT), h, ba, bb)
new_esEs7(Right(ywz5000), Right(ywz4000), cf, app(ty_[], cg)) → new_esEs12(ywz5000, ywz4000, cg)
new_esEs13(:%(ywz5000, ywz5001), :%(ywz4000, ywz4001), eg) → new_asAs(new_esEs24(ywz5000, ywz4000, eg), new_esEs23(ywz5001, ywz4001, eg))
new_compare111(ywz5000, ywz4000, True, ff, fg, fh) → LT
new_esEs32(ywz500, ywz400, ty_@0) → new_esEs19(ywz500, ywz400)
new_addToFM_C10(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, True, h, ba, bb) → new_mkBalBranch(ywz740, ywz741, ywz743, new_addToFM_C0(ywz744, ywz50, ywz9, h, ba, bb), h, ba, bb)
new_esEs28(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs25(ywz5002, ywz4002, ty_@0) → new_esEs19(ywz5002, ywz4002)
new_ltEs18(ywz5002, ywz4002, ty_@0) → new_ltEs16(ywz5002, ywz4002)
new_mkBalBranch6MkBalBranch11(ywz2190, ywz2191, ywz2192, ywz2193, EmptyFM, ywz1180, ywz1181, ywz1184, False, ed, ee, ef) → error([])
new_ltEs8(Just(ywz5000), Nothing, bce) → False
new_esEs9(ywz5001, ywz4001, app(ty_[], hf)) → new_esEs12(ywz5001, ywz4001, hf)
new_ltEs12(ywz500, ywz400) → new_not(new_esEs8(new_compare5(ywz500, ywz400), GT))
new_esEs22(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_addToFM(ywz119, ywz400, ywz41, h, ba, bb) → new_addToFM_C5(ywz119, ywz400, ywz41, h, ba, bb)
new_esEs21(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_addToFM1(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, h, ba, bb) → new_addToFM_C30(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, h, ba, bb)
new_esEs28(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_esEs8(LT, EQ) → False
new_esEs8(EQ, LT) → False
new_esEs10(ywz5000, ywz4000, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_primEqInt(Pos(Succ(ywz50000)), Pos(Zero)) → False
new_primEqInt(Pos(Zero), Pos(Succ(ywz40000))) → False
new_esEs10(ywz5000, ywz4000, app(app(ty_Either, bbe), bbf)) → new_esEs7(ywz5000, ywz4000, bbe, bbf)
new_esEs31(ywz500, ywz400, ty_Bool) → new_esEs17(ywz500, ywz400)
new_esEs27(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_lt4(ywz5000, ywz4000) → new_esEs8(new_compare6(ywz5000, ywz4000), LT)
new_ltEs18(ywz5002, ywz4002, ty_Integer) → new_ltEs11(ywz5002, ywz4002)
new_primPlusNat0(Succ(ywz24800), Zero) → Succ(ywz24800)
new_primPlusNat0(Zero, Succ(ywz4000000)) → Succ(ywz4000000)
new_esEs31(ywz500, ywz400, app(app(ty_@2, bcf), bcg)) → new_esEs5(ywz500, ywz400, bcf, bcg)
new_esEs5(@2(ywz5000, ywz5001), @2(ywz4000, ywz4001), bcf, bcg) → new_asAs(new_esEs22(ywz5000, ywz4000, bcf), new_esEs21(ywz5001, ywz4001, bcg))
new_primCmpNat0(Zero, Zero) → EQ
new_addToFM0(ywz118, ywz18, ywz19, ed, ee, ef) → new_addToFM_C4(ywz118, ywz18, ywz19, ed, ee, ef)
new_primCmpNat0(Succ(ywz500000), Zero) → GT
new_esEs22(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Pos(Succ(ywz40000))) → LT
new_compare210(ywz5000, ywz4000, True, ff, fg, fh) → EQ
new_splitLT24(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, True, ed, ee, ef) → new_splitLT5(ywz21, ywz23, ed, ee, ef)
new_esEs22(ywz5000, ywz4000, app(ty_Ratio, bed)) → new_esEs13(ywz5000, ywz4000, bed)
new_ltEs4(Right(ywz5000), Right(ywz4000), cf, app(app(app(ty_@3, dg), dh), ea)) → new_ltEs17(ywz5000, ywz4000, dg, dh, ea)
new_lt6(ywz5001, ywz4001, ty_Float) → new_lt17(ywz5001, ywz4001)
new_sr0(Integer(ywz50000), Integer(ywz40010)) → Integer(new_primMulInt(ywz50000, ywz40010))
new_compare13(ywz5000, ywz4000, True) → LT
new_esEs32(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_primEqInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → False
new_primEqInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → False
new_esEs7(Left(ywz5000), Left(ywz4000), app(ty_[], bd), bc) → new_esEs12(ywz5000, ywz4000, bd)
new_addToFM_C5(Branch(ywz1190, ywz1191, ywz1192, ywz1193, ywz1194), ywz400, ywz41, h, ba, bb) → new_addToFM_C20(ywz1190, ywz1191, ywz1192, ywz1193, ywz1194, Right(ywz400), ywz41, new_lt16(Right(ywz400), ywz1190, h, ba), h, ba, bb)
new_esEs29(ywz500, ywz400, app(ty_[], bcd)) → new_esEs12(ywz500, ywz400, bcd)
new_esEs32(ywz500, ywz400, app(ty_[], bch)) → new_esEs12(ywz500, ywz400, bch)
new_ltEs18(ywz5002, ywz4002, app(app(ty_Either, ha), hb)) → new_ltEs4(ywz5002, ywz4002, ha, hb)
new_splitGT4(EmptyFM, ywz500, h, ba, bb) → new_emptyFM(h, ba, bb)
new_primPlusInt2(EmptyFM, ywz1180, ywz1181, ywz1184, ed, ee, ef) → new_primPlusInt(Zero, new_mkBalBranch6Size_r(EmptyFM, ywz1180, ywz1181, ywz1184, ed, ee, ef))
new_compare15(Double(ywz5000, ywz5001), Double(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_splitGT15(ywz63, ywz64, ywz65, ywz66, ywz67, ywz68, True, cbb, cbc, cbd) → new_mkVBalBranch(ywz63, ywz64, new_splitGT5(ywz66, ywz68, cbb, cbc, cbd), ywz67, cbb, cbc, cbd)
new_esEs29(ywz500, ywz400, app(app(ty_@2, bcf), bcg)) → new_esEs5(ywz500, ywz400, bcf, bcg)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Ordering) → new_ltEs6(ywz5000, ywz4000)
new_ltEs20(ywz500, ywz400, ty_Float) → new_ltEs15(ywz500, ywz400)
new_splitLT30(Right(ywz400), ywz41, ywz42, ywz43, ywz44, Right(ywz500), h, ba, bb) → new_splitLT23(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Right(ywz500), Right(ywz400), new_esEs32(ywz500, ywz400, ba), h, ba), LT), h, ba, bb)
new_lt6(ywz5001, ywz4001, ty_Double) → new_lt15(ywz5001, ywz4001)
new_esEs32(ywz500, ywz400, app(app(ty_@2, bdc), bdd)) → new_esEs5(ywz500, ywz400, bdc, bdd)
new_primEqInt(Pos(Zero), Neg(Succ(ywz40000))) → False
new_primEqInt(Neg(Zero), Pos(Succ(ywz40000))) → False
new_esEs20(ywz5000, ywz4000, app(ty_[], bhe)) → new_esEs12(ywz5000, ywz4000, bhe)
new_compare24(Right(ywz500), Left(ywz400), False, h, ba) → GT
new_addToFM_C4(Branch(ywz1180, ywz1181, ywz1182, ywz1183, ywz1184), ywz18, ywz19, ed, ee, ef) → new_addToFM_C20(ywz1180, ywz1181, ywz1182, ywz1183, ywz1184, Left(ywz18), ywz19, new_lt16(Left(ywz18), ywz1180, ed, ee), ed, ee, ef)
new_esEs28(ywz5000, ywz4000, app(app(ty_Either, bee), bef)) → new_esEs7(ywz5000, ywz4000, bee, bef)
new_compare30(ywz5000, ywz4000, bcb, bcc) → new_compare27(ywz5000, ywz4000, new_esEs5(ywz5000, ywz4000, bcb, bcc), bcb, bcc)
new_esEs7(Right(ywz5000), Right(ywz4000), cf, app(ty_Maybe, da)) → new_esEs4(ywz5000, ywz4000, da)
new_ltEs17(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), ga, gb, gc) → new_pePe(new_lt5(ywz5000, ywz4000, ga), new_asAs(new_esEs10(ywz5000, ywz4000, ga), new_pePe(new_lt6(ywz5001, ywz4001, gb), new_asAs(new_esEs9(ywz5001, ywz4001, gb), new_ltEs18(ywz5002, ywz4002, gc)))))
new_esEs7(Right(ywz5000), Right(ywz4000), cf, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, app(ty_[], hf)) → new_lt9(ywz5001, ywz4001, hf)
new_mkVBalBranch3MkVBalBranch10(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, True, h, ba, bb) → new_mkBalBranch(ywz740, ywz741, ywz743, new_mkVBalBranch2(ywz50, ywz9, ywz744, ywz60, ywz61, ywz62, ywz63, ywz64, h, ba, bb), h, ba, bb)
new_mkBalBranch6MkBalBranch11(ywz2190, ywz2191, ywz2192, ywz2193, Branch(ywz21940, ywz21941, ywz21942, ywz21943, ywz21944), ywz1180, ywz1181, ywz1184, False, ed, ee, ef) → new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))), ywz21940, ywz21941, new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero)))))))))), ywz2190, ywz2191, ywz2193, ywz21943, app(app(ty_Either, ed), ee), ef), new_mkBranch(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Succ(Zero))))))))))), ywz1180, ywz1181, ywz21944, ywz1184, app(app(ty_Either, ed), ee), ef), app(app(ty_Either, ed), ee), ef)
new_splitGT26(ywz63, ywz64, ywz65, ywz66, ywz67, ywz68, False, cbb, cbc, cbd) → new_splitGT15(ywz63, ywz64, ywz65, ywz66, ywz67, ywz68, new_lt16(Right(ywz68), Right(ywz63), cbb, cbc), cbb, cbc, cbd)
new_lt16(ywz50, ywz40, h, ba) → new_esEs8(new_compare18(ywz50, ywz40, h, ba), LT)
new_splitGT13(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba, bb) → ywz44
new_esEs8(EQ, GT) → False
new_esEs8(GT, EQ) → False
new_primPlusInt1(ywz21920, Neg(ywz2860)) → Neg(new_primPlusNat0(ywz21920, ywz2860))
new_esEs27(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_lt6(ywz5001, ywz4001, ty_Integer) → new_lt13(ywz5001, ywz4001)
new_esEs26(ywz5001, ywz4001, app(app(ty_@2, baa), bab)) → new_esEs5(ywz5001, ywz4001, baa, bab)
new_esEs32(ywz500, ywz400, ty_Bool) → new_esEs17(ywz500, ywz400)
new_esEs22(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(app(ty_@2, bfb), bfc)) → new_esEs5(ywz5001, ywz4001, bfb, bfc)
new_primCompAux0(ywz333, LT) → LT
new_esEs9(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Integer) → new_esEs14(ywz5001, ywz4001)
new_esEs11(ywz500, ywz400) → new_primEqInt(ywz500, ywz400)
new_not(False) → True
new_ltEs4(Right(ywz5000), Left(ywz4000), cf, bc) → False
new_mkVBalBranch3Size_r(ywz60, ywz61, ywz62, ywz63, ywz64, ywz70, ywz71, ywz72, ywz73, ywz74, h, ba, bb) → new_sizeFM(ywz60, ywz61, ywz62, ywz63, ywz64, h, ba, bb)
new_ltEs20(ywz500, ywz400, app(app(app(ty_@3, bdg), bdh), bea)) → new_ltEs17(ywz500, ywz400, bdg, bdh, bea)
new_esEs31(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_compare210(ywz5000, ywz4000, False, ff, fg, fh) → new_compare111(ywz5000, ywz4000, new_ltEs17(ywz5000, ywz4000, ff, fg, fh), ff, fg, fh)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Double, bc) → new_esEs16(ywz5000, ywz4000)
new_compare110(ywz5000, ywz4000, True, bec) → LT
new_esEs7(Right(ywz5000), Right(ywz4000), cf, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), cf, ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_splitLT23(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, False, eh, fa, fb) → new_splitLT13(ywz33, ywz34, ywz35, ywz36, ywz37, ywz38, new_esEs8(new_compare18(Right(ywz38), Right(ywz33), eh, fa), GT), eh, fa, fb)
new_esEs22(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs32(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_esEs25(ywz5002, ywz4002, ty_Float) → new_esEs18(ywz5002, ywz4002)
new_ltEs21(ywz5001, ywz4001, ty_Char) → new_ltEs12(ywz5001, ywz4001)
new_lt20(ywz5000, ywz4000, app(app(ty_Either, bee), bef)) → new_lt16(ywz5000, ywz4000, bee, bef)
new_esEs9(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_esEs28(ywz5000, ywz4000, app(app(ty_@2, bcb), bcc)) → new_esEs5(ywz5000, ywz4000, bcb, bcc)
new_compare0(:(ywz5000, ywz5001), [], bcd) → GT
new_splitLT5(EmptyFM, ywz500, h, ba, bb) → new_emptyFM(h, ba, bb)
new_lt6(ywz5001, ywz4001, app(app(app(ty_@3, bae), baf), bag)) → new_lt19(ywz5001, ywz4001, bae, baf, bag)
new_lt7(ywz5000, ywz4000) → new_esEs8(new_compare8(ywz5000, ywz4000), LT)
new_esEs27(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_addToFM_C0(Branch(ywz7430, ywz7431, ywz7432, ywz7433, ywz7434), ywz50, ywz9, h, ba, bb) → new_addToFM_C30(ywz7430, ywz7431, ywz7432, ywz7433, ywz7434, ywz50, ywz9, h, ba, bb)
new_ltEs4(Right(ywz5000), Right(ywz4000), cf, app(ty_Ratio, db)) → new_ltEs9(ywz5000, ywz4000, db)
new_esEs32(ywz500, ywz400, ty_Float) → new_esEs18(ywz500, ywz400)
new_primCmpInt(Pos(Succ(ywz50000)), Neg(ywz4000)) → GT
new_compare27(ywz5000, ywz4000, False, bcb, bcc) → new_compare19(ywz5000, ywz4000, new_ltEs10(ywz5000, ywz4000, bcb, bcc), bcb, bcc)
new_esEs30(ywz500, ywz400, app(ty_[], bch)) → new_esEs12(ywz500, ywz400, bch)
new_lt6(ywz5001, ywz4001, app(ty_Maybe, hg)) → new_lt10(ywz5001, ywz4001, hg)
new_lt20(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, app(ty_Ratio, bbb)) → new_lt11(ywz5000, ywz4000, bbb)
new_esEs29(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_primMulInt(Pos(ywz50000), Pos(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_esEs30(ywz500, ywz400, app(app(ty_@2, bdc), bdd)) → new_esEs5(ywz500, ywz400, bdc, bdd)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs7(Right(ywz5000), Right(ywz4000), cf, ty_Char) → new_esEs15(ywz5000, ywz4000)
new_ltEs19(ywz500, ywz400, app(ty_Maybe, bce)) → new_ltEs8(ywz500, ywz400, bce)
new_primMulInt(Neg(ywz50000), Neg(ywz40000)) → Pos(new_primMulNat0(ywz50000, ywz40000))
new_esEs9(ywz5001, ywz4001, app(ty_Ratio, hh)) → new_esEs13(ywz5001, ywz4001, hh)
new_ltEs19(ywz500, ywz400, ty_Int) → new_ltEs5(ywz500, ywz400)
new_esEs29(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_mkBalBranch6MkBalBranch4(ywz219, ywz1180, ywz1181, EmptyFM, True, ed, ee, ef) → error([])
new_ltEs4(Right(ywz5000), Right(ywz4000), cf, app(app(ty_@2, dc), dd)) → new_ltEs10(ywz5000, ywz4000, dc, dd)
new_primEqNat0(Succ(ywz50000), Zero) → False
new_primEqNat0(Zero, Succ(ywz40000)) → False
new_mkVBalBranch1(ywz50, ywz9, ywz740, ywz741, ywz742, ywz743, ywz744, EmptyFM, h, ba, bb) → new_addToFM1(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, h, ba, bb)
new_primPlusNat0(Zero, Zero) → Zero
new_lt20(ywz5000, ywz4000, app(app(ty_@2, bcb), bcc)) → new_lt12(ywz5000, ywz4000, bcb, bcc)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Float, bc) → new_ltEs15(ywz5000, ywz4000)
new_ltEs4(Right(ywz5000), Right(ywz4000), cf, ty_Integer) → new_ltEs11(ywz5000, ywz4000)
new_esEs21(ywz5001, ywz4001, app(ty_[], beg)) → new_esEs12(ywz5001, ywz4001, beg)
new_ltEs6(LT, LT) → True
new_ltEs6(EQ, LT) → False
new_ltEs14(True, True) → True
new_lt20(ywz5000, ywz4000, app(ty_Maybe, bec)) → new_lt10(ywz5000, ywz4000, bec)
new_ltEs18(ywz5002, ywz4002, app(app(app(ty_@3, hc), hd), he)) → new_ltEs17(ywz5002, ywz4002, hc, hd, he)
new_primEqInt(Pos(Zero), Pos(Zero)) → True
new_esEs28(ywz5000, ywz4000, app(app(app(ty_@3, ff), fg), fh)) → new_esEs6(ywz5000, ywz4000, ff, fg, fh)
new_esEs4(Nothing, Nothing, bce) → True
new_ltEs21(ywz5001, ywz4001, app(ty_Ratio, bfa)) → new_ltEs9(ywz5001, ywz4001, bfa)
new_compare111(ywz5000, ywz4000, False, ff, fg, fh) → GT
new_esEs4(Just(ywz5000), Just(ywz4000), app(ty_Ratio, bge)) → new_esEs13(ywz5000, ywz4000, bge)
new_compare31(ywz5000, ywz4000, app(app(ty_@2, bhh), caa)) → new_compare30(ywz5000, ywz4000, bhh, caa)
new_esEs27(ywz5000, ywz4000, app(app(app(ty_@3, bbg), bbh), bca)) → new_esEs6(ywz5000, ywz4000, bbg, bbh, bca)
new_esEs27(ywz5000, ywz4000, app(app(ty_@2, bbc), bbd)) → new_esEs5(ywz5000, ywz4000, bbc, bbd)
new_lt5(ywz5000, ywz4000, ty_Integer) → new_lt13(ywz5000, ywz4000)
new_esEs23(ywz5001, ywz4001, ty_Int) → new_esEs11(ywz5001, ywz4001)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_Either, bgh), bha)) → new_ltEs4(ywz5000, ywz4000, bgh, bha)
new_sizeFM0(EmptyFM, fc, fd) → Pos(Zero)
new_esEs10(ywz5000, ywz4000, app(app(ty_@2, bbc), bbd)) → new_esEs5(ywz5000, ywz4000, bbc, bbd)
new_lt20(ywz5000, ywz4000, ty_Char) → new_lt14(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_esEs4(ywz5000, ywz4000, bba)
new_esEs21(ywz5001, ywz4001, app(app(ty_Either, bfd), bfe)) → new_esEs7(ywz5001, ywz4001, bfd, bfe)
new_mkBalBranch6MkBalBranch3(EmptyFM, ywz1180, ywz1181, ywz1184, True, ed, ee, ef) → error([])
new_primPlusNat1(Succ(ywz2480), ywz400000) → Succ(Succ(new_primPlusNat0(ywz2480, ywz400000)))
new_lt15(ywz5000, ywz4000) → new_esEs8(new_compare15(ywz5000, ywz4000), LT)
new_splitLT14(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, True, ed, ee, ef) → new_mkVBalBranch0(ywz18, ywz19, ywz21, new_splitLT5(ywz22, ywz23, ed, ee, ef), ed, ee, ef)
new_primMinusNat0(Zero, Zero) → Pos(Zero)
new_splitLT26(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba, bb) → new_splitLT4(ywz43, ywz500, h, ba, bb)
new_ltEs21(ywz5001, ywz4001, app(ty_Maybe, beh)) → new_ltEs8(ywz5001, ywz4001, beh)
new_lt6(ywz5001, ywz4001, ty_Int) → new_lt7(ywz5001, ywz4001)
new_lt19(ywz5000, ywz4000, ff, fg, fh) → new_esEs8(new_compare17(ywz5000, ywz4000, ff, fg, fh), LT)
new_primCmpInt(Pos(Zero), Neg(Succ(ywz40000))) → GT
new_compare110(ywz5000, ywz4000, False, bec) → GT
new_compare0(:(ywz5000, ywz5001), :(ywz4000, ywz4001), bcd) → new_primCompAux1(ywz5000, ywz4000, new_compare0(ywz5001, ywz4001, bcd), bcd)
new_esEs25(ywz5002, ywz4002, ty_Integer) → new_esEs14(ywz5002, ywz4002)
new_compare19(ywz5000, ywz4000, True, bcb, bcc) → LT
new_ltEs19(ywz500, ywz400, app(ty_[], bcd)) → new_ltEs7(ywz500, ywz400, bcd)
new_esEs32(ywz500, ywz400, ty_Int) → new_esEs11(ywz500, ywz400)
new_compare31(ywz5000, ywz4000, ty_Integer) → new_compare9(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, app(ty_Ratio, bhg)) → new_compare7(ywz5000, ywz4000, bhg)
new_sIZE_RATIOPos(Succ(Succ(Succ(Succ(Succ(Zero))))))
new_ltEs5(ywz500, ywz400) → new_not(new_esEs8(new_compare8(ywz500, ywz400), GT))
new_lt6(ywz5001, ywz4001, app(app(ty_Either, bac), bad)) → new_lt16(ywz5001, ywz4001, bac, bad)
new_emptyFM(h, ba, bb) → EmptyFM
new_esEs24(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs9(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, ty_Float) → new_esEs18(ywz5001, ywz4001)
new_ltEs19(ywz500, ywz400, ty_Integer) → new_ltEs11(ywz500, ywz400)
new_ltEs21(ywz5001, ywz4001, ty_@0) → new_ltEs16(ywz5001, ywz4001)
new_esEs21(ywz5001, ywz4001, app(ty_Maybe, beh)) → new_esEs4(ywz5001, ywz4001, beh)
new_sizeFM1(Branch(ywz11840, ywz11841, ywz11842, ywz11843, ywz11844), ed, ee, ef) → ywz11842
new_primPlusInt(ywz21920, Neg(ywz2850)) → new_primMinusNat0(ywz21920, ywz2850)
new_esEs20(ywz5000, ywz4000, app(app(ty_Either, cab), cac)) → new_esEs7(ywz5000, ywz4000, cab, cac)
new_lt5(ywz5000, ywz4000, ty_Bool) → new_lt4(ywz5000, ywz4000)
new_mkBalBranch6MkBalBranch3(ywz219, ywz1180, ywz1181, ywz1184, False, ed, ee, ef) → new_mkBranch(Succ(Zero), ywz1180, ywz1181, ywz219, ywz1184, app(app(ty_Either, ed), ee), ef)
new_mkVBalBranch(ywz400, ywz41, Branch(ywz430, ywz431, ywz432, ywz433, ywz434), EmptyFM, h, ba, bb) → new_addToFM(Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz400, ywz41, h, ba, bb)
new_splitGT23(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba, bb) → new_splitGT13(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_lt16(Left(ywz500), Right(ywz400), h, ba), h, ba, bb)
new_ltEs21(ywz5001, ywz4001, ty_Integer) → new_ltEs11(ywz5001, ywz4001)
new_esEs9(ywz5001, ywz4001, app(app(ty_@2, baa), bab)) → new_esEs5(ywz5001, ywz4001, baa, bab)
new_compare29(ywz5000, ywz4000, True, bec) → EQ
new_primCmpInt(Neg(Zero), Neg(Zero)) → EQ
new_primCompAux1(ywz5000, ywz4000, ywz290, bcd) → new_primCompAux0(ywz290, new_compare31(ywz5000, ywz4000, bcd))
new_esEs29(ywz500, ywz400, ty_Bool) → new_esEs17(ywz500, ywz400)
new_splitLT5(Branch(ywz430, ywz431, ywz432, ywz433, ywz434), ywz500, h, ba, bb) → new_splitLT30(ywz430, ywz431, ywz432, ywz433, ywz434, Left(ywz500), h, ba, bb)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(ty_Maybe, bgd)) → new_ltEs8(ywz5000, ywz4000, bgd)
new_compare18(ywz50, ywz40, h, ba) → new_compare24(ywz50, ywz40, new_esEs7(ywz50, ywz40, h, ba), h, ba)
new_lt5(ywz5000, ywz4000, ty_Ordering) → new_lt8(ywz5000, ywz4000)
new_compare31(ywz5000, ywz4000, ty_Char) → new_compare5(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_splitGT23(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba, bb) → new_splitGT4(ywz44, ywz500, h, ba, bb)
new_esEs32(ywz500, ywz400, app(ty_Ratio, bdb)) → new_esEs13(ywz500, ywz400, bdb)
new_compare9(Integer(ywz5000), Integer(ywz4000)) → new_primCmpInt(ywz5000, ywz4000)
new_asAs(False, ywz142) → False
new_esEs10(ywz5000, ywz4000, app(app(app(ty_@3, bbg), bbh), bca)) → new_esEs6(ywz5000, ywz4000, bbg, bbh, bca)
new_primMulInt(Pos(ywz50000), Neg(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primMulInt(Neg(ywz50000), Pos(ywz40000)) → Neg(new_primMulNat0(ywz50000, ywz40000))
new_primCmpInt(Neg(Succ(ywz50000)), Neg(ywz4000)) → new_primCmpNat2(ywz4000, ywz50000)
new_primMulNat0(Zero, Succ(ywz400000)) → Zero
new_primMulNat0(Succ(ywz500000), Zero) → Zero
new_esEs26(ywz5001, ywz4001, app(ty_[], hf)) → new_esEs12(ywz5001, ywz4001, hf)
new_esEs21(ywz5001, ywz4001, ty_Ordering) → new_esEs8(ywz5001, ywz4001)
new_splitLT15(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba, bb) → ywz43
new_esEs9(ywz5001, ywz4001, app(ty_Maybe, hg)) → new_esEs4(ywz5001, ywz4001, hg)
new_mkVBalBranch2(ywz50, ywz9, EmptyFM, ywz60, ywz61, ywz62, ywz63, ywz64, h, ba, bb) → new_addToFM1(ywz60, ywz61, ywz62, ywz63, ywz64, ywz50, ywz9, h, ba, bb)
new_esEs29(ywz500, ywz400, ty_Int) → new_esEs11(ywz500, ywz400)
new_splitGT24(ywz48, ywz49, ywz50, ywz51, ywz52, ywz53, True, cag, cah, cba) → new_splitGT4(ywz52, ywz53, cag, cah, cba)
new_esEs31(ywz500, ywz400, ty_Double) → new_esEs16(ywz500, ywz400)
new_ltEs21(ywz5001, ywz4001, ty_Bool) → new_ltEs14(ywz5001, ywz4001)
new_esEs10(ywz5000, ywz4000, app(ty_Ratio, bbb)) → new_esEs13(ywz5000, ywz4000, bbb)
new_esEs30(ywz500, ywz400, app(ty_Ratio, bdb)) → new_esEs13(ywz500, ywz400, bdb)
new_lt6(ywz5001, ywz4001, ty_@0) → new_lt18(ywz5001, ywz4001)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Float, bc) → new_esEs18(ywz5000, ywz4000)
new_ltEs18(ywz5002, ywz4002, ty_Bool) → new_ltEs14(ywz5002, ywz4002)
new_compare31(ywz5000, ywz4000, app(ty_[], bhe)) → new_compare0(ywz5000, ywz4000, bhe)
new_compare10(Float(ywz5000, ywz5001), Float(ywz4000, ywz4001)) → new_compare8(new_sr(ywz5000, ywz4000), new_sr(ywz5001, ywz4001))
new_esEs28(ywz5000, ywz4000, ty_@0) → new_esEs19(ywz5000, ywz4000)
new_splitGT24(ywz48, ywz49, ywz50, ywz51, ywz52, ywz53, False, cag, cah, cba) → new_splitGT14(ywz48, ywz49, ywz50, ywz51, ywz52, ywz53, new_lt16(Left(ywz53), Left(ywz48), cag, cah), cag, cah, cba)
new_ltEs18(ywz5002, ywz4002, ty_Char) → new_ltEs12(ywz5002, ywz4002)
new_primCmpInt(Pos(Zero), Pos(Succ(ywz40000))) → new_primCmpNat2(Zero, ywz40000)
new_esEs25(ywz5002, ywz4002, app(app(app(ty_@3, hc), hd), he)) → new_esEs6(ywz5002, ywz4002, hc, hd, he)
new_addToFM_C4(EmptyFM, ywz18, ywz19, ed, ee, ef) → Branch(Left(ywz18), ywz19, Pos(Succ(Zero)), new_emptyFM(ed, ee, ef), new_emptyFM(ed, ee, ef))
new_esEs31(ywz500, ywz400, ty_@0) → new_esEs19(ywz500, ywz400)
new_splitLT25(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, False, h, ba, bb) → new_splitLT15(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare18(Left(ywz500), Right(ywz400), h, ba), GT), h, ba, bb)
new_esEs10(ywz5000, ywz4000, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_splitLT25(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba, bb) → new_splitLT5(ywz43, ywz500, h, ba, bb)
new_ltEs6(LT, GT) → True
new_primPlusInt0(Pos(ywz4230), ywz388, ywz385, ywz387, fc, fd) → new_primPlusInt(ywz4230, new_sizeFM0(ywz388, fc, fd))
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Double) → new_esEs16(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Float) → new_esEs18(ywz5000, ywz4000)
new_esEs7(Left(ywz5000), Left(ywz4000), app(app(app(ty_@3, cc), cd), ce), bc) → new_esEs6(ywz5000, ywz4000, cc, cd, ce)
new_ltEs21(ywz5001, ywz4001, app(app(ty_@2, bfb), bfc)) → new_ltEs10(ywz5001, ywz4001, bfb, bfc)
new_esEs20(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Double) → new_ltEs13(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, app(ty_[], beb)) → new_esEs12(ywz5000, ywz4000, beb)
new_esEs24(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_primMinusNat0(Zero, Succ(ywz28500)) → Neg(Succ(ywz28500))
new_ltEs4(Left(ywz5000), Left(ywz4000), app(ty_[], bd), bc) → new_ltEs7(ywz5000, ywz4000, bd)
new_splitLT24(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, False, ed, ee, ef) → new_splitLT14(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, new_esEs8(new_compare18(Left(ywz23), Left(ywz18), ed, ee), GT), ed, ee, ef)
new_ltEs21(ywz5001, ywz4001, ty_Ordering) → new_ltEs6(ywz5001, ywz4001)
new_esEs32(ywz500, ywz400, app(app(app(ty_@3, bdg), bdh), bea)) → new_esEs6(ywz500, ywz400, bdg, bdh, bea)
new_sizeFM(ywz70, ywz71, ywz72, ywz73, ywz74, h, ba, bb) → ywz72
new_esEs7(Right(ywz5000), Right(ywz4000), cf, ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Int) → new_esEs11(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_esEs28(ywz5000, ywz4000, app(ty_Ratio, bed)) → new_esEs13(ywz5000, ywz4000, bed)
new_ltEs18(ywz5002, ywz4002, app(ty_Maybe, ge)) → new_ltEs8(ywz5002, ywz4002, ge)
new_ltEs14(True, False) → False
new_esEs25(ywz5002, ywz4002, ty_Char) → new_esEs15(ywz5002, ywz4002)
new_splitGT30(Left(ywz400), ywz41, ywz42, ywz43, ywz44, Left(ywz500), h, ba, bb) → new_splitGT24(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, new_esEs8(new_compare24(Left(ywz500), Left(ywz400), new_esEs29(ywz500, ywz400, h), h, ba), GT), h, ba, bb)
new_compare11(ywz5000, ywz4000, False) → GT
new_ltEs13(ywz500, ywz400) → new_not(new_esEs8(new_compare15(ywz500, ywz400), GT))
new_lt11(ywz5000, ywz4000, bed) → new_esEs8(new_compare7(ywz5000, ywz4000, bed), LT)
new_lt5(ywz5000, ywz4000, app(app(ty_@2, bbc), bbd)) → new_lt12(ywz5000, ywz4000, bbc, bbd)
new_ltEs16(ywz500, ywz400) → new_not(new_esEs8(new_compare28(ywz500, ywz400), GT))
new_ltEs8(Nothing, Nothing, bce) → True
new_esEs26(ywz5001, ywz4001, ty_Bool) → new_esEs17(ywz5001, ywz4001)
new_esEs25(ywz5002, ywz4002, app(app(ty_@2, gg), gh)) → new_esEs5(ywz5002, ywz4002, gg, gh)
new_compare11(ywz5000, ywz4000, True) → LT
new_esEs31(ywz500, ywz400, app(ty_Maybe, bce)) → new_esEs4(ywz500, ywz400, bce)
new_ltEs19(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_ltEs4(Right(ywz5000), Right(ywz4000), cf, app(ty_[], cg)) → new_ltEs7(ywz5000, ywz4000, cg)
new_splitGT13(ywz400, ywz41, ywz42, ywz43, ywz44, ywz500, True, h, ba, bb) → new_mkVBalBranch(ywz400, ywz41, new_splitGT4(ywz43, ywz500, h, ba, bb), ywz44, h, ba, bb)
new_esEs9(ywz5001, ywz4001, ty_@0) → new_esEs19(ywz5001, ywz4001)
new_ltEs19(ywz500, ywz400, app(app(app(ty_@3, ga), gb), gc)) → new_ltEs17(ywz500, ywz400, ga, gb, gc)
new_splitLT14(ywz18, ywz19, ywz20, ywz21, ywz22, ywz23, False, ed, ee, ef) → ywz21
new_ltEs20(ywz500, ywz400, ty_Double) → new_ltEs13(ywz500, ywz400)
new_esEs29(ywz500, ywz400, app(app(app(ty_@3, ga), gb), gc)) → new_esEs6(ywz500, ywz400, ga, gb, gc)
new_compare14(ywz147, ywz148, True, bga, bgb) → LT
new_esEs29(ywz500, ywz400, app(app(ty_Either, cf), bc)) → new_esEs7(ywz500, ywz400, cf, bc)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Bool, bc) → new_esEs17(ywz5000, ywz4000)
new_primCmpInt(Neg(Zero), Neg(Succ(ywz40000))) → new_primCmpNat1(ywz40000, Zero)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Int) → new_ltEs5(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_@0) → new_esEs19(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_compare31(ywz5000, ywz4000, ty_Float) → new_compare10(ywz5000, ywz4000)
new_esEs22(ywz5000, ywz4000, ty_Double) → new_esEs16(ywz5000, ywz4000)
new_lt5(ywz5000, ywz4000, ty_Float) → new_lt17(ywz5000, ywz4000)
new_esEs10(ywz5000, ywz4000, ty_Ordering) → new_esEs8(ywz5000, ywz4000)
new_primPlusNat0(Succ(ywz24800), Succ(ywz4000000)) → Succ(Succ(new_primPlusNat0(ywz24800, ywz4000000)))
new_esEs9(ywz5001, ywz4001, app(app(app(ty_@3, bae), baf), bag)) → new_esEs6(ywz5001, ywz4001, bae, baf, bag)
new_ltEs4(Right(ywz5000), Right(ywz4000), cf, app(ty_Maybe, da)) → new_ltEs8(ywz5000, ywz4000, da)
new_compare0([], :(ywz4000, ywz4001), bcd) → LT
new_lt5(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_lt10(ywz5000, ywz4000, bba)
new_ltEs6(LT, EQ) → True
new_esEs21(ywz5001, ywz4001, app(app(app(ty_@3, bff), bfg), bfh)) → new_esEs6(ywz5001, ywz4001, bff, bfg, bfh)
new_ltEs6(GT, LT) → False
new_lt20(ywz5000, ywz4000, app(app(app(ty_@3, ff), fg), fh)) → new_lt19(ywz5000, ywz4000, ff, fg, fh)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Char) → new_ltEs12(ywz5000, ywz4000)
new_esEs27(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_asAs(True, ywz142) → ywz142
new_esEs28(ywz5000, ywz4000, app(ty_[], beb)) → new_esEs12(ywz5000, ywz4000, beb)
new_esEs27(ywz5000, ywz4000, app(ty_[], bah)) → new_esEs12(ywz5000, ywz4000, bah)
new_esEs25(ywz5002, ywz4002, ty_Int) → new_esEs11(ywz5002, ywz4002)
new_lt12(ywz5000, ywz4000, bcb, bcc) → new_esEs8(new_compare30(ywz5000, ywz4000, bcb, bcc), LT)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_@0, bc) → new_esEs19(ywz5000, ywz4000)
new_ltEs4(Left(ywz5000), Left(ywz4000), ty_Integer, bc) → new_ltEs11(ywz5000, ywz4000)
new_ltEs8(Just(ywz5000), Just(ywz4000), app(app(ty_@2, bgf), bgg)) → new_ltEs10(ywz5000, ywz4000, bgf, bgg)
new_ltEs21(ywz5001, ywz4001, ty_Float) → new_ltEs15(ywz5001, ywz4001)
new_esEs7(Left(ywz5000), Left(ywz4000), ty_Char, bc) → new_esEs15(ywz5000, ywz4000)
new_addToFM_C5(EmptyFM, ywz400, ywz41, h, ba, bb) → Branch(Right(ywz400), ywz41, Pos(Succ(Zero)), new_emptyFM(h, ba, bb), new_emptyFM(h, ba, bb))
new_esEs32(ywz500, ywz400, ty_Double) → new_esEs16(ywz500, ywz400)
new_esEs9(ywz5001, ywz4001, app(app(ty_Either, bac), bad)) → new_esEs7(ywz5001, ywz4001, bac, bad)
new_esEs4(Just(ywz5000), Just(ywz4000), ty_Char) → new_esEs15(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, ty_Int) → new_esEs11(ywz500, ywz400)
new_primPlusInt2(Branch(ywz2190, ywz2191, Neg(ywz21920), ywz2193, ywz2194), ywz1180, ywz1181, ywz1184, ed, ee, ef) → new_primPlusInt1(ywz21920, new_sizeFM1(ywz1184, ed, ee, ef))
new_mkBalBranch6MkBalBranch5(ywz219, ywz1180, ywz1181, ywz1184, True, ed, ee, ef) → new_mkBranch(Zero, ywz1180, ywz1181, ywz219, ywz1184, app(app(ty_Either, ed), ee), ef)
new_esEs31(ywz500, ywz400, app(ty_Ratio, eg)) → new_esEs13(ywz500, ywz400, eg)
new_addToFM_C10(ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, False, h, ba, bb) → Branch(ywz50, ywz9, ywz742, ywz743, ywz744)
new_esEs31(ywz500, ywz400, ty_Int) → new_esEs11(ywz500, ywz400)
new_esEs26(ywz5001, ywz4001, ty_Double) → new_esEs16(ywz5001, ywz4001)
new_ltEs8(Just(ywz5000), Just(ywz4000), ty_Float) → new_ltEs15(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, ty_Double) → new_esEs16(ywz500, ywz400)
new_lt5(ywz5000, ywz4000, ty_Double) → new_lt15(ywz5000, ywz4000)
new_ltEs7(ywz500, ywz400, bcd) → new_not(new_esEs8(new_compare0(ywz500, ywz400, bcd), GT))
new_mkVBalBranch3MkVBalBranch20(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, False, h, ba, bb) → new_mkVBalBranch3MkVBalBranch10(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_lt7(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_r(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), new_mkVBalBranch3Size_l(ywz60, ywz61, ywz62, ywz63, ywz64, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), h, ba, bb)
new_esEs29(ywz500, ywz400, app(ty_Maybe, bce)) → new_esEs4(ywz500, ywz400, bce)
new_ltEs20(ywz500, ywz400, ty_Ordering) → new_ltEs6(ywz500, ywz400)
new_mkVBalBranch30(ywz50, ywz9, ywz740, ywz741, ywz742, ywz743, ywz744, ywz630, ywz631, ywz632, ywz633, ywz634, h, ba, bb) → new_mkVBalBranch3MkVBalBranch20(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, ywz50, ywz9, new_lt7(new_sr(new_sIZE_RATIO, new_mkVBalBranch3Size_l(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), new_mkVBalBranch3Size_r(ywz630, ywz631, ywz632, ywz633, ywz634, ywz740, ywz741, ywz742, ywz743, ywz744, h, ba, bb)), h, ba, bb)
new_compare32(ywz5000, ywz4000, bec) → new_compare29(ywz5000, ywz4000, new_esEs4(ywz5000, ywz4000, bec), bec)
new_compare19(ywz5000, ywz4000, False, bcb, bcc) → GT
new_esEs30(ywz500, ywz400, ty_Integer) → new_esEs14(ywz500, ywz400)
new_esEs28(ywz5000, ywz4000, ty_Integer) → new_esEs14(ywz5000, ywz4000)
new_esEs30(ywz500, ywz400, app(app(app(ty_@3, bdg), bdh), bea)) → new_esEs6(ywz500, ywz400, bdg, bdh, bea)
new_esEs25(ywz5002, ywz4002, app(app(ty_Either, ha), hb)) → new_esEs7(ywz5002, ywz4002, ha, hb)
new_primCmpInt(Pos(Zero), Pos(Zero)) → EQ
new_lt5(ywz5000, ywz4000, ty_@0) → new_lt18(ywz5000, ywz4000)
new_mkBalBranch6MkBalBranch4(ywz219, ywz1180, ywz1181, ywz1184, False, ed, ee, ef) → new_mkBalBranch6MkBalBranch3(ywz219, ywz1180, ywz1181, ywz1184, new_gt1(new_mkBalBranch6Size_l(ywz219, ywz1180, ywz1181, ywz1184, ed, ee, ef), new_sr(new_sIZE_RATIO, new_mkBalBranch6Size_r(ywz219, ywz1180, ywz1181, ywz1184, ed, ee, ef))), ed, ee, ef)
new_lt6(ywz5001, ywz4001, app(app(ty_@2, baa), bab)) → new_lt12(ywz5001, ywz4001, baa, bab)
new_primCompAux0(ywz333, EQ) → ywz333
new_esEs29(ywz500, ywz400, ty_Ordering) → new_esEs8(ywz500, ywz400)
new_esEs6(@3(ywz5000, ywz5001, ywz5002), @3(ywz4000, ywz4001, ywz4002), ga, gb, gc) → new_asAs(new_esEs27(ywz5000, ywz4000, ga), new_asAs(new_esEs26(ywz5001, ywz4001, gb), new_esEs25(ywz5002, ywz4002, gc)))
new_ltEs20(ywz500, ywz400, app(app(ty_@2, bdc), bdd)) → new_ltEs10(ywz500, ywz400, bdc, bdd)
new_ltEs19(ywz500, ywz400, ty_@0) → new_ltEs16(ywz500, ywz400)
new_compare28(@0, @0) → EQ
new_esEs10(ywz5000, ywz4000, app(ty_Maybe, bba)) → new_esEs4(ywz5000, ywz4000, bba)
new_esEs10(ywz5000, ywz4000, ty_Bool) → new_esEs17(ywz5000, ywz4000)
new_primEqInt(Pos(Zero), Neg(Zero)) → True
new_primEqInt(Neg(Zero), Pos(Zero)) → True
new_esEs30(ywz500, ywz400, ty_Char) → new_esEs15(ywz500, ywz400)
new_lt18(ywz5000, ywz4000) → new_esEs8(new_compare28(ywz5000, ywz4000), LT)
new_primCmpInt(Neg(Succ(ywz50000)), Pos(ywz4000)) → LT
new_compare24(Right(ywz500), Right(ywz400), False, h, ba) → new_compare12(ywz500, ywz400, new_ltEs20(ywz500, ywz400, ba), h, ba)
new_not(True) → False
new_primMinusNat0(Succ(ywz219200), Succ(ywz28500)) → new_primMinusNat0(ywz219200, ywz28500)

The set Q consists of the following terms:

new_ltEs21(x0, x1, ty_Int)
new_esEs21(x0, x1, app(app(ty_Either, x2), x3))
new_compare24(Right(x0), Right(x1), False, x2, x3)
new_esEs18(Float(x0, x1), Float(x2, x3))
new_mkVBalBranch(x0, x1, Branch(x2, x3, x4, x5, x6), Branch(x7, x8, x9, x10, x11), x12, x13, x14)
new_mkVBalBranch3MkVBalBranch10(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, True, x12, x13, x14)
new_ltEs16(x0, x1)
new_primCmpNat1(x0, Succ(x1))
new_esEs20(x0, x1, ty_Double)
new_esEs28(x0, x1, app(ty_[], x2))
new_lt6(x0, x1, ty_@0)
new_ltEs20(x0, x1, ty_Double)
new_mkBalBranch6MkBalBranch11(x0, x1, x2, x3, EmptyFM, x4, x5, x6, False, x7, x8, x9)
new_primMinusNat0(Zero, Zero)
new_esEs7(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_mkBalBranch6MkBalBranch3(EmptyFM, x0, x1, x2, True, x3, x4, x5)
new_addToFM_C0(Branch(x0, x1, x2, x3, x4), x5, x6, x7, x8, x9)
new_esEs30(x0, x1, ty_Double)
new_esEs23(x0, x1, ty_Integer)
new_esEs21(x0, x1, ty_Int)
new_primPlusInt0(Pos(x0), x1, x2, x3, x4, x5)
new_esEs9(x0, x1, app(ty_Maybe, x2))
new_esEs7(Left(x0), Left(x1), ty_Int, x2)
new_ltEs4(Right(x0), Right(x1), x2, ty_Char)
new_esEs20(x0, x1, app(ty_Ratio, x2))
new_ltEs21(x0, x1, ty_Ordering)
new_esEs31(x0, x1, app(ty_Maybe, x2))
new_esEs12(:(x0, x1), :(x2, x3), x4)
new_splitGT13(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_primCompAux0(x0, EQ)
new_esEs29(x0, x1, ty_Double)
new_ltEs4(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_primEqInt(Neg(Zero), Neg(Succ(x0)))
new_mkBalBranch6MkBalBranch11(x0, x1, x2, x3, x4, x5, x6, x7, True, x8, x9, x10)
new_ltEs19(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs18(x0, x1, ty_Bool)
new_ltEs4(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_lt20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs4(Right(x0), Right(x1), x2, ty_Double)
new_esEs27(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_gt1(x0, x1)
new_esEs27(x0, x1, ty_Bool)
new_sizeFM0(Branch(x0, x1, x2, x3, x4), x5, x6)
new_esEs31(x0, x1, ty_Bool)
new_esEs4(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_esEs29(x0, x1, ty_Int)
new_esEs22(x0, x1, ty_Ordering)
new_compare15(Double(x0, x1), Double(x2, x3))
new_compare31(x0, x1, app(app(ty_Either, x2), x3))
new_splitLT4(Branch(x0, x1, x2, x3, x4), x5, x6, x7, x8)
new_esEs21(x0, x1, app(ty_Ratio, x2))
new_primPlusInt2(EmptyFM, x0, x1, x2, x3, x4, x5)
new_compare12(x0, x1, False, x2, x3)
new_lt6(x0, x1, ty_Ordering)
new_ltEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpNat0(Succ(x0), Zero)
new_splitLT25(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_esEs25(x0, x1, app(ty_Maybe, x2))
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_ltEs4(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_ltEs18(x0, x1, app(ty_Ratio, x2))
new_lt6(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs10(x0, x1, app(ty_Maybe, x2))
new_lt4(x0, x1)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_[], x3))
new_ltEs21(x0, x1, ty_Double)
new_compare5(Char(x0), Char(x1))
new_esEs7(Right(x0), Right(x1), x2, ty_Bool)
new_mkVBalBranch0(x0, x1, Branch(x2, x3, x4, x5, x6), EmptyFM, x7, x8, x9)
new_esEs29(x0, x1, ty_Ordering)
new_esEs29(x0, x1, ty_Bool)
new_mkBalBranch6MkBalBranch5(x0, x1, x2, x3, False, x4, x5, x6)
new_esEs7(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_splitGT25(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_mkVBalBranch0(x0, x1, Branch(x2, x3, x4, x5, x6), Branch(x7, x8, x9, x10, x11), x12, x13, x14)
new_esEs27(x0, x1, app(ty_Ratio, x2))
new_ltEs14(True, False)
new_ltEs14(False, True)
new_esEs10(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs10(@2(x0, x1), @2(x2, x3), x4, x5)
new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1)))
new_esEs30(x0, x1, ty_Ordering)
new_esEs30(x0, x1, ty_Int)
new_ltEs18(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, app(app(ty_@2, x2), x3))
new_lt8(x0, x1)
new_esEs20(x0, x1, ty_Ordering)
new_esEs8(GT, GT)
new_lt20(x0, x1, app(ty_Maybe, x2))
new_splitGT16(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_splitGT5(Branch(x0, x1, x2, x3, x4), x5, x6, x7, x8)
new_esEs32(x0, x1, ty_Double)
new_lt12(x0, x1, x2, x3)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_esEs30(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_Int)
new_esEs10(x0, x1, ty_Integer)
new_esEs25(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_splitGT24(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_compare111(x0, x1, True, x2, x3, x4)
new_esEs8(LT, LT)
new_esEs26(x0, x1, ty_Float)
new_primPlusNat1(Zero, x0)
new_esEs22(x0, x1, app(ty_[], x2))
new_lt20(x0, x1, ty_Bool)
new_ltEs19(x0, x1, ty_Ordering)
new_ltEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_lt20(x0, x1, ty_Int)
new_splitLT30(Right(x0), x1, x2, x3, x4, Left(x5), x6, x7, x8)
new_primEqNat0(Succ(x0), Succ(x1))
new_splitLT30(Left(x0), x1, x2, x3, x4, Right(x5), x6, x7, x8)
new_esEs31(x0, x1, ty_@0)
new_esEs10(x0, x1, app(ty_[], x2))
new_ltEs19(x0, x1, ty_Float)
new_esEs17(False, False)
new_lt20(x0, x1, ty_Integer)
new_esEs31(x0, x1, ty_Char)
new_esEs9(x0, x1, app(app(ty_Either, x2), x3))
new_esEs26(x0, x1, app(app(ty_Either, x2), x3))
new_esEs12([], :(x0, x1), x2)
new_esEs21(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, ty_Float)
new_lt5(x0, x1, ty_Int)
new_esEs4(Nothing, Nothing, x0)
new_esEs4(Just(x0), Just(x1), ty_Bool)
new_lt5(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs19(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs21(x0, x1, app(app(ty_@2, x2), x3))
new_splitGT23(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_splitGT15(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_ltEs21(x0, x1, ty_Bool)
new_ltEs6(EQ, EQ)
new_pePe(False, x0)
new_splitGT5(EmptyFM, x0, x1, x2, x3)
new_ltEs4(Right(x0), Right(x1), x2, ty_Float)
new_esEs8(GT, LT)
new_esEs8(LT, GT)
new_compare9(Integer(x0), Integer(x1))
new_pePe(True, x0)
new_esEs28(x0, x1, ty_Int)
new_ltEs8(Just(x0), Just(x1), app(ty_Ratio, x2))
new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1)))
new_ltEs4(Left(x0), Left(x1), ty_Int, x2)
new_esEs4(Just(x0), Just(x1), ty_@0)
new_esEs4(Just(x0), Just(x1), ty_Int)
new_esEs20(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs6(LT, EQ)
new_ltEs6(EQ, LT)
new_ltEs20(x0, x1, ty_@0)
new_ltEs18(x0, x1, app(ty_[], x2))
new_compare7(:%(x0, x1), :%(x2, x3), ty_Integer)
new_addToFM_C20(x0, x1, x2, x3, x4, x5, x6, False, x7, x8, x9)
new_ltEs4(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_esEs22(x0, x1, app(ty_Maybe, x2))
new_esEs13(:%(x0, x1), :%(x2, x3), x4)
new_primEqNat0(Zero, Zero)
new_ltEs19(x0, x1, ty_Double)
new_lt20(x0, x1, app(app(ty_Either, x2), x3))
new_primMinusNat0(Zero, Succ(x0))
new_ltEs19(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Bool)
new_lt6(x0, x1, app(ty_[], x2))
new_lt20(x0, x1, app(ty_[], x2))
new_esEs10(x0, x1, app(app(ty_Either, x2), x3))
new_compare31(x0, x1, ty_Double)
new_esEs4(Just(x0), Just(x1), ty_Char)
new_compare26(x0, x1, True)
new_esEs30(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, app(ty_Maybe, x2))
new_esEs32(x0, x1, app(app(ty_@2, x2), x3))
new_compare210(x0, x1, True, x2, x3, x4)
new_mkBalBranch6Size_r(x0, x1, x2, x3, x4, x5, x6)
new_lt5(x0, x1, app(ty_Ratio, x2))
new_splitLT23(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_compare28(@0, @0)
new_primCompAux1(x0, x1, x2, x3)
new_esEs28(x0, x1, ty_Float)
new_mkBalBranch6MkBalBranch01(x0, x1, x2, x3, x4, x5, EmptyFM, x6, False, x7, x8, x9)
new_compare31(x0, x1, ty_Char)
new_primMulNat0(Zero, Zero)
new_esEs22(x0, x1, app(app(ty_@2, x2), x3))
new_esEs31(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), app(app(ty_Either, x2), x3), x4)
new_esEs27(x0, x1, app(app(ty_Either, x2), x3))
new_compare31(x0, x1, ty_@0)
new_ltEs21(x0, x1, ty_Float)
new_esEs10(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, ty_Integer)
new_esEs30(x0, x1, app(ty_Ratio, x2))
new_splitLT26(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_lt9(x0, x1, x2)
new_lt20(x0, x1, ty_@0)
new_esEs30(x0, x1, ty_Char)
new_esEs4(Just(x0), Nothing, x1)
new_esEs32(x0, x1, app(ty_Maybe, x2))
new_esEs26(x0, x1, ty_Bool)
new_esEs26(x0, x1, ty_Double)
new_mkVBalBranch(x0, x1, EmptyFM, x2, x3, x4, x5)
new_ltEs19(x0, x1, ty_Int)
new_esEs7(Left(x0), Left(x1), ty_Char, x2)
new_compare31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs21(x0, x1, app(app(ty_Either, x2), x3))
new_splitGT24(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_sIZE_RATIO
new_splitLT24(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_lt5(x0, x1, app(ty_Maybe, x2))
new_lt10(x0, x1, x2)
new_compare27(x0, x1, False, x2, x3)
new_esEs25(x0, x1, app(app(ty_@2, x2), x3))
new_sizeFM1(EmptyFM, x0, x1, x2)
new_mkBalBranch6MkBalBranch01(x0, x1, x2, x3, x4, x5, Branch(x6, x7, x8, x9, x10), x11, False, x12, x13, x14)
new_esEs22(x0, x1, ty_@0)
new_primCmpInt(Pos(Zero), Neg(Succ(x0)))
new_esEs20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primCmpInt(Neg(Zero), Pos(Succ(x0)))
new_esEs9(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_splitLT14(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_ltEs21(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_Bool)
new_ltEs19(x0, x1, app(app(ty_Either, x2), x3))
new_addToFM_C10(x0, x1, x2, x3, x4, x5, x6, False, x7, x8, x9)
new_ltEs19(x0, x1, app(ty_[], x2))
new_esEs21(x0, x1, ty_Char)
new_esEs20(x0, x1, ty_Integer)
new_primEqInt(Neg(Zero), Pos(Succ(x0)))
new_primEqInt(Pos(Zero), Neg(Succ(x0)))
new_addToFM_C0(EmptyFM, x0, x1, x2, x3, x4)
new_mkBalBranch6MkBalBranch5(x0, x1, x2, x3, True, x4, x5, x6)
new_esEs31(x0, x1, ty_Integer)
new_esEs25(x0, x1, app(ty_Ratio, x2))
new_esEs32(x0, x1, ty_Char)
new_esEs9(x0, x1, ty_Bool)
new_esEs4(Just(x0), Just(x1), ty_Float)
new_lt5(x0, x1, ty_@0)
new_esEs10(x0, x1, ty_Ordering)
new_ltEs4(Left(x0), Left(x1), ty_Bool, x2)
new_ltEs6(GT, LT)
new_ltEs6(LT, GT)
new_mkVBalBranch3Size_r(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12)
new_splitLT4(EmptyFM, x0, x1, x2, x3)
new_mkVBalBranch2(x0, x1, Branch(x2, x3, x4, x5, x6), x7, x8, x9, x10, x11, x12, x13, x14)
new_esEs31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs7(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_ltEs4(Left(x0), Left(x1), ty_Integer, x2)
new_esEs32(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, ty_Integer)
new_ltEs8(Just(x0), Just(x1), app(ty_Maybe, x2))
new_lt5(x0, x1, ty_Double)
new_esEs26(x0, x1, app(ty_Ratio, x2))
new_splitLT25(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_esEs21(x0, x1, ty_Double)
new_compare210(x0, x1, False, x2, x3, x4)
new_splitLT14(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_ltEs20(x0, x1, app(ty_Ratio, x2))
new_primPlusInt2(Branch(x0, x1, Pos(x2), x3, x4), x5, x6, x7, x8, x9, x10)
new_addToFM_C10(x0, x1, x2, x3, x4, x5, x6, True, x7, x8, x9)
new_ltEs4(Right(x0), Right(x1), x2, ty_Integer)
new_ltEs8(Nothing, Just(x0), x1)
new_ltEs17(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_addToFM(x0, x1, x2, x3, x4, x5)
new_ltEs18(x0, x1, app(ty_Maybe, x2))
new_splitGT16(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_esEs20(x0, x1, ty_@0)
new_esEs25(x0, x1, ty_Int)
new_ltEs20(x0, x1, ty_Int)
new_splitLT5(EmptyFM, x0, x1, x2, x3)
new_lt5(x0, x1, ty_Char)
new_compare24(Left(x0), Right(x1), False, x2, x3)
new_compare24(Right(x0), Left(x1), False, x2, x3)
new_primCmpInt(Pos(Zero), Pos(Succ(x0)))
new_lt6(x0, x1, app(ty_Maybe, x2))
new_ltEs18(x0, x1, ty_Char)
new_esEs21(x0, x1, ty_Integer)
new_ltEs8(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs32(x0, x1, ty_Integer)
new_esEs30(x0, x1, ty_Bool)
new_asAs(False, x0)
new_ltEs20(x0, x1, ty_Char)
new_primMulNat0(Succ(x0), Succ(x1))
new_esEs22(x0, x1, ty_Integer)
new_esEs4(Just(x0), Just(x1), ty_Double)
new_splitLT15(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_compare31(x0, x1, ty_Ordering)
new_primCmpNat1(x0, Zero)
new_lt5(x0, x1, app(app(ty_Either, x2), x3))
new_compare30(x0, x1, x2, x3)
new_primCmpNat2(Zero, x0)
new_ltEs20(x0, x1, app(app(ty_@2, x2), x3))
new_sizeFM0(EmptyFM, x0, x1)
new_splitLT30(Left(x0), x1, x2, x3, x4, Left(x5), x6, x7, x8)
new_splitGT4(Branch(x0, x1, x2, x3, x4), x5, x6, x7, x8)
new_primPlusInt0(Neg(x0), x1, x2, x3, x4, x5)
new_addToFM_C4(EmptyFM, x0, x1, x2, x3, x4)
new_ltEs18(x0, x1, app(app(ty_@2, x2), x3))
new_esEs30(x0, x1, app(ty_[], x2))
new_ltEs11(x0, x1)
new_mkBalBranch6MkBalBranch3(x0, x1, x2, x3, False, x4, x5, x6)
new_splitGT26(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_primPlusNat0(Zero, Zero)
new_esEs7(Right(x0), Right(x1), x2, ty_Ordering)
new_esEs31(x0, x1, ty_Ordering)
new_ltEs19(x0, x1, ty_Bool)
new_esEs21(x0, x1, ty_Ordering)
new_esEs7(Left(x0), Left(x1), app(ty_Ratio, x2), x3)
new_ltEs21(x0, x1, app(ty_Maybe, x2))
new_compare13(x0, x1, True)
new_lt6(x0, x1, ty_Float)
new_ltEs4(Right(x0), Right(x1), x2, ty_Int)
new_sr(x0, x1)
new_ltEs19(x0, x1, app(ty_Ratio, x2))
new_ltEs8(Just(x0), Just(x1), ty_Int)
new_primCmpInt(Neg(Zero), Neg(Zero))
new_compare110(x0, x1, True, x2)
new_mkVBalBranch3MkVBalBranch20(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, False, x12, x13, x14)
new_compare7(:%(x0, x1), :%(x2, x3), ty_Int)
new_esEs32(x0, x1, ty_Float)
new_esEs4(Just(x0), Just(x1), ty_Ordering)
new_primMulNat0(Zero, Succ(x0))
new_esEs32(x0, x1, ty_Ordering)
new_ltEs18(x0, x1, ty_Integer)
new_compare8(x0, x1)
new_esEs30(x0, x1, app(ty_Maybe, x2))
new_ltEs18(x0, x1, app(app(ty_Either, x2), x3))
new_mkBalBranch6MkBalBranch3(Branch(x0, x1, x2, x3, x4), x5, x6, x7, True, x8, x9, x10)
new_esEs29(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Float)
new_compare31(x0, x1, ty_Bool)
new_ltEs21(x0, x1, app(ty_Ratio, x2))
new_compare19(x0, x1, True, x2, x3)
new_esEs28(x0, x1, app(app(ty_Either, x2), x3))
new_ltEs4(Left(x0), Left(x1), ty_Double, x2)
new_splitLT5(Branch(x0, x1, x2, x3, x4), x5, x6, x7, x8)
new_esEs4(Just(x0), Just(x1), app(ty_[], x2))
new_lt20(x0, x1, ty_Ordering)
new_ltEs4(Left(x0), Left(x1), ty_Char, x2)
new_esEs31(x0, x1, app(ty_Ratio, x2))
new_lt6(x0, x1, app(app(ty_Either, x2), x3))
new_esEs10(x0, x1, app(ty_Ratio, x2))
new_mkVBalBranch2(x0, x1, EmptyFM, x2, x3, x4, x5, x6, x7, x8, x9)
new_compare31(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Neg(Succ(x0)), Neg(Zero))
new_splitGT23(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_ltEs5(x0, x1)
new_lt15(x0, x1)
new_ltEs4(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs7(Right(x0), Right(x1), x2, app(app(app(ty_@3, x3), x4), x5))
new_esEs9(x0, x1, ty_Double)
new_ltEs20(x0, x1, ty_Ordering)
new_lt6(x0, x1, ty_Int)
new_esEs27(x0, x1, ty_Ordering)
new_ltEs8(Just(x0), Just(x1), ty_Bool)
new_ltEs8(Just(x0), Just(x1), app(app(ty_@2, x2), x3))
new_primPlusNat0(Succ(x0), Succ(x1))
new_mkVBalBranch(x0, x1, Branch(x2, x3, x4, x5, x6), EmptyFM, x7, x8, x9)
new_esEs7(Left(x0), Left(x1), ty_@0, x2)
new_esEs26(x0, x1, app(ty_[], x2))
new_lt6(x0, x1, ty_Integer)
new_ltEs8(Nothing, Nothing, x0)
new_ltEs8(Just(x0), Just(x1), ty_Double)
new_compare111(x0, x1, False, x2, x3, x4)
new_esEs9(x0, x1, app(ty_Ratio, x2))
new_esEs28(x0, x1, app(ty_Ratio, x2))
new_esEs30(x0, x1, app(app(ty_@2, x2), x3))
new_esEs14(Integer(x0), Integer(x1))
new_esEs7(Right(x0), Right(x1), x2, ty_Double)
new_ltEs7(x0, x1, x2)
new_esEs25(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Neg(Zero))
new_primEqInt(Neg(Zero), Pos(Zero))
new_primMulNat0(Succ(x0), Zero)
new_esEs10(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Int)
new_esEs29(x0, x1, app(app(ty_@2, x2), x3))
new_esEs28(x0, x1, ty_Double)
new_esEs16(Double(x0, x1), Double(x2, x3))
new_esEs20(x0, x1, app(ty_[], x2))
new_compare24(x0, x1, True, x2, x3)
new_compare6(x0, x1)
new_lt5(x0, x1, ty_Bool)
new_lt13(x0, x1)
new_esEs22(x0, x1, app(ty_Ratio, x2))
new_ltEs19(x0, x1, app(ty_Maybe, x2))
new_esEs25(x0, x1, app(ty_[], x2))
new_esEs28(x0, x1, app(ty_Maybe, x2))
new_esEs27(x0, x1, app(ty_[], x2))
new_primCompAux0(x0, LT)
new_splitLT30(Right(x0), x1, x2, x3, x4, Right(x5), x6, x7, x8)
new_lt20(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs9(x0, x1, app(app(ty_@2, x2), x3))
new_lt18(x0, x1)
new_primCmpInt(Pos(Zero), Pos(Zero))
new_esEs8(EQ, EQ)
new_compare13(x0, x1, False)
new_primPlusNat0(Zero, Succ(x0))
new_esEs20(x0, x1, app(ty_Maybe, x2))
new_ltEs8(Just(x0), Just(x1), ty_Ordering)
new_ltEs19(x0, x1, ty_Integer)
new_primCmpInt(Neg(Succ(x0)), Neg(x1))
new_primEqInt(Neg(Zero), Neg(Zero))
new_emptyFM(x0, x1, x2)
new_mkBalBranch6Size_l(x0, x1, x2, x3, x4, x5, x6)
new_esEs10(x0, x1, ty_Float)
new_lt17(x0, x1)
new_primPlusInt(x0, Pos(x1))
new_esEs22(x0, x1, ty_Int)
new_primMulInt(Pos(x0), Neg(x1))
new_primMulInt(Neg(x0), Pos(x1))
new_esEs29(x0, x1, ty_@0)
new_lt20(x0, x1, ty_Char)
new_mkBalBranch6MkBalBranch4(x0, x1, x2, x3, False, x4, x5, x6)
new_esEs31(x0, x1, app(ty_[], x2))
new_ltEs8(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_compare24(Left(x0), Left(x1), False, x2, x3)
new_esEs12([], [], x0)
new_esEs11(x0, x1)
new_lt20(x0, x1, app(ty_Ratio, x2))
new_lt5(x0, x1, ty_Integer)
new_gt(x0, x1, x2, x3)
new_esEs7(Right(x0), Right(x1), x2, ty_Float)
new_sr0(Integer(x0), Integer(x1))
new_esEs31(x0, x1, ty_Double)
new_splitLT26(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_ltEs4(Right(x0), Right(x1), x2, ty_Ordering)
new_lt6(x0, x1, ty_Bool)
new_compare27(x0, x1, True, x2, x3)
new_addToFM_C5(EmptyFM, x0, x1, x2, x3, x4)
new_esEs9(x0, x1, ty_Char)
new_esEs10(x0, x1, ty_Double)
new_compare32(x0, x1, x2)
new_splitGT30(Left(x0), x1, x2, x3, x4, Left(x5), x6, x7, x8)
new_mkVBalBranch0(x0, x1, EmptyFM, x2, x3, x4, x5)
new_ltEs12(x0, x1)
new_esEs22(x0, x1, ty_Bool)
new_splitLT13(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_lt5(x0, x1, ty_Float)
new_splitGT30(Left(x0), x1, x2, x3, x4, Right(x5), x6, x7, x8)
new_splitGT30(Right(x0), x1, x2, x3, x4, Left(x5), x6, x7, x8)
new_esEs29(x0, x1, ty_Integer)
new_compare110(x0, x1, False, x2)
new_esEs20(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, ty_Integer)
new_esEs29(x0, x1, app(ty_[], x2))
new_esEs30(x0, x1, ty_@0)
new_esEs32(x0, x1, app(ty_Ratio, x2))
new_esEs9(x0, x1, app(ty_[], x2))
new_ltEs20(x0, x1, ty_Float)
new_esEs26(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_compare18(x0, x1, x2, x3)
new_splitGT13(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_ltEs6(GT, GT)
new_esEs6(@3(x0, x1, x2), @3(x3, x4, x5), x6, x7, x8)
new_esEs29(x0, x1, ty_Char)
new_sizeFM1(Branch(x0, x1, x2, x3, x4), x5, x6, x7)
new_primMulInt(Neg(x0), Neg(x1))
new_esEs21(x0, x1, app(ty_[], x2))
new_esEs8(EQ, GT)
new_esEs8(GT, EQ)
new_primEqNat0(Succ(x0), Zero)
new_compare12(x0, x1, True, x2, x3)
new_esEs27(x0, x1, ty_@0)
new_esEs4(Just(x0), Just(x1), app(app(app(ty_@3, x2), x3), x4))
new_lt5(x0, x1, app(ty_[], x2))
new_esEs4(Just(x0), Just(x1), app(ty_Ratio, x2))
new_lt6(x0, x1, ty_Double)
new_ltEs9(x0, x1, x2)
new_compare0(:(x0, x1), [], x2)
new_esEs26(x0, x1, ty_Ordering)
new_ltEs20(x0, x1, app(ty_Maybe, x2))
new_splitGT30(Right(x0), x1, x2, x3, x4, Right(x5), x6, x7, x8)
new_mkBalBranch6MkBalBranch4(x0, x1, x2, Branch(x3, x4, x5, x6, x7), True, x8, x9, x10)
new_mkBalBranch(x0, x1, x2, x3, x4, x5, x6)
new_compare0([], :(x0, x1), x2)
new_primCmpInt(Pos(Succ(x0)), Pos(x1))
new_lt6(x0, x1, app(app(ty_@2, x2), x3))
new_esEs24(x0, x1, ty_Integer)
new_ltEs8(Just(x0), Nothing, x1)
new_lt11(x0, x1, x2)
new_primPlusInt(x0, Neg(x1))
new_ltEs20(x0, x1, app(ty_[], x2))
new_primCmpNat0(Zero, Zero)
new_mkVBalBranch1(x0, x1, x2, x3, x4, x5, x6, EmptyFM, x7, x8, x9)
new_lt19(x0, x1, x2, x3, x4)
new_esEs7(Right(x0), Right(x1), x2, app(ty_[], x3))
new_esEs10(x0, x1, ty_@0)
new_ltEs6(LT, LT)
new_esEs28(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs26(x0, x1, ty_Char)
new_ltEs18(x0, x1, ty_@0)
new_esEs28(x0, x1, ty_Ordering)
new_ltEs8(Just(x0), Just(x1), app(ty_[], x2))
new_esEs25(x0, x1, ty_Integer)
new_splitLT24(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_lt16(x0, x1, x2, x3)
new_primCmpNat0(Zero, Succ(x0))
new_esEs5(@2(x0, x1), @2(x2, x3), x4, x5)
new_esEs22(x0, x1, ty_Char)
new_compare31(x0, x1, ty_Int)
new_ltEs8(Just(x0), Just(x1), ty_@0)
new_esEs28(x0, x1, ty_Char)
new_splitGT14(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_esEs26(x0, x1, app(ty_Maybe, x2))
new_primPlusNat0(Succ(x0), Zero)
new_compare31(x0, x1, app(ty_Maybe, x2))
new_esEs7(Left(x0), Left(x1), app(ty_Maybe, x2), x3)
new_esEs21(x0, x1, app(app(ty_@2, x2), x3))
new_esEs31(x0, x1, ty_Float)
new_addToFM_C4(Branch(x0, x1, x2, x3, x4), x5, x6, x7, x8, x9)
new_ltEs4(Right(x0), Left(x1), x2, x3)
new_ltEs4(Left(x0), Right(x1), x2, x3)
new_compare14(x0, x1, True, x2, x3)
new_primMulInt(Pos(x0), Pos(x1))
new_ltEs4(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_esEs22(x0, x1, ty_Double)
new_primEqInt(Pos(Succ(x0)), Pos(Zero))
new_esEs27(x0, x1, ty_Int)
new_ltEs21(x0, x1, ty_Char)
new_ltEs8(Just(x0), Just(x1), ty_Integer)
new_mkVBalBranch3Size_l(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12)
new_esEs22(x0, x1, app(app(ty_Either, x2), x3))
new_esEs27(x0, x1, app(app(ty_@2, x2), x3))
new_lt14(x0, x1)
new_compare25(x0, x1, True)
new_ltEs14(True, True)
new_esEs29(x0, x1, app(ty_Ratio, x2))
new_primEqInt(Pos(Zero), Pos(Succ(x0)))
new_ltEs4(Right(x0), Right(x1), x2, ty_Bool)
new_esEs7(Right(x0), Right(x1), x2, ty_Integer)
new_primPlusInt1(x0, Neg(x1))
new_esEs7(Left(x0), Left(x1), ty_Integer, x2)
new_ltEs14(False, False)
new_ltEs4(Right(x0), Right(x1), x2, app(ty_Ratio, x3))
new_esEs27(x0, x1, ty_Double)
new_esEs22(x0, x1, ty_Float)
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_Either, x3), x4))
new_compare10(Float(x0, x1), Float(x2, x3))
new_esEs24(x0, x1, ty_Int)
new_esEs31(x0, x1, ty_Int)
new_ltEs4(Right(x0), Right(x1), x2, ty_@0)
new_not(True)
new_esEs12(:(x0, x1), [], x2)
new_esEs32(x0, x1, ty_Bool)
new_splitGT25(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_ltEs8(Just(x0), Just(x1), ty_Float)
new_primPlusInt2(Branch(x0, x1, Neg(x2), x3, x4), x5, x6, x7, x8, x9, x10)
new_esEs27(x0, x1, ty_Char)
new_esEs32(x0, x1, app(app(ty_Either, x2), x3))
new_esEs7(Right(x0), Right(x1), x2, app(app(ty_@2, x3), x4))
new_splitLT16(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_ltEs21(x0, x1, ty_@0)
new_esEs29(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(x0, x1, ty_@0)
new_esEs7(Left(x0), Left(x1), app(app(app(ty_@3, x2), x3), x4), x5)
new_primCmpInt(Neg(Succ(x0)), Pos(x1))
new_primCmpInt(Pos(Succ(x0)), Neg(x1))
new_lt20(x0, x1, ty_Double)
new_primCmpInt(Neg(Zero), Pos(Zero))
new_primCmpInt(Pos(Zero), Neg(Zero))
new_not(False)
new_primMinusNat0(Succ(x0), Succ(x1))
new_esEs32(x0, x1, ty_Int)
new_esEs7(Right(x0), Right(x1), x2, ty_@0)
new_esEs25(x0, x1, ty_Ordering)
new_esEs7(Left(x0), Left(x1), ty_Double, x2)
new_lt6(x0, x1, ty_Char)
new_esEs7(Left(x0), Left(x1), ty_Float, x2)
new_esEs7(Left(x0), Left(x1), ty_Ordering, x2)
new_esEs4(Just(x0), Just(x1), ty_Integer)
new_esEs26(x0, x1, ty_Integer)
new_esEs25(x0, x1, ty_@0)
new_compare25(x0, x1, False)
new_addToFM_C5(Branch(x0, x1, x2, x3, x4), x5, x6, x7, x8, x9)
new_ltEs6(GT, EQ)
new_ltEs6(EQ, GT)
new_compare31(x0, x1, ty_Integer)
new_esEs29(x0, x1, app(ty_Maybe, x2))
new_ltEs18(x0, x1, ty_Double)
new_splitLT16(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_esEs9(x0, x1, ty_Ordering)
new_mkBalBranch6MkBalBranch11(x0, x1, x2, x3, Branch(x4, x5, x6, x7, x8), x9, x10, x11, False, x12, x13, x14)
new_ltEs18(x0, x1, ty_Float)
new_esEs25(x0, x1, ty_Double)
new_lt22(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13)
new_addToFM1(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9)
new_esEs21(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs21(x0, x1, ty_Float)
new_esEs26(x0, x1, ty_@0)
new_ltEs13(x0, x1)
new_ltEs8(Just(x0), Just(x1), ty_Char)
new_esEs15(Char(x0), Char(x1))
new_compare16(x0, x1)
new_ltEs15(x0, x1)
new_esEs9(x0, x1, ty_Float)
new_mkBranch(x0, x1, x2, x3, x4, x5, x6)
new_compare19(x0, x1, False, x2, x3)
new_addToFM_C20(x0, x1, x2, x3, x4, x5, x6, True, x7, x8, x9)
new_splitGT26(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_addToFM_C30(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9)
new_asAs(True, x0)
new_compare29(x0, x1, True, x2)
new_esEs8(EQ, LT)
new_esEs8(LT, EQ)
new_splitGT15(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_mkVBalBranch1(x0, x1, x2, x3, x4, x5, x6, Branch(x7, x8, x9, x10, x11), x12, x13, x14)
new_primCompAux0(x0, GT)
new_lt7(x0, x1)
new_esEs9(x0, x1, ty_Int)
new_ltEs18(x0, x1, ty_Ordering)
new_primMinusNat0(Succ(x0), Zero)
new_esEs7(Right(x0), Left(x1), x2, x3)
new_esEs7(Left(x0), Right(x1), x2, x3)
new_esEs32(x0, x1, ty_@0)
new_esEs7(Left(x0), Left(x1), ty_Bool, x2)
new_primCmpInt(Neg(Zero), Neg(Succ(x0)))
new_ltEs20(x0, x1, ty_Bool)
new_splitGT14(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_esEs25(x0, x1, app(app(ty_Either, x2), x3))
new_esEs29(x0, x1, app(app(ty_Either, x2), x3))
new_splitGT4(EmptyFM, x0, x1, x2, x3)
new_esEs20(x0, x1, ty_Float)
new_esEs27(x0, x1, ty_Integer)
new_ltEs19(x0, x1, ty_@0)
new_ltEs4(Left(x0), Left(x1), app(app(ty_@2, x2), x3), x4)
new_esEs30(x0, x1, ty_Integer)
new_splitLT15(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_primCmpNat0(Succ(x0), Succ(x1))
new_esEs30(x0, x1, ty_Float)
new_esEs17(False, True)
new_esEs17(True, False)
new_mkBalBranch6MkBalBranch4(x0, x1, x2, EmptyFM, True, x3, x4, x5)
new_ltEs4(Left(x0), Left(x1), app(ty_[], x2), x3)
new_ltEs21(x0, x1, app(ty_[], x2))
new_esEs25(x0, x1, ty_Char)
new_ltEs4(Left(x0), Left(x1), ty_Float, x2)
new_esEs4(Just(x0), Just(x1), app(ty_Maybe, x2))
new_splitLT23(x0, x1, x2, x3, x4, x5, True, x6, x7, x8)
new_compare17(x0, x1, x2, x3, x4)
new_esEs4(Just(x0), Just(x1), app(app(ty_Either, x2), x3))
new_esEs7(Left(x0), Left(x1), app(ty_[], x2), x3)
new_esEs28(x0, x1, app(app(ty_@2, x2), x3))
new_lt20(x0, x1, ty_Float)
new_primEqInt(Pos(Zero), Pos(Zero))
new_esEs23(x0, x1, ty_Int)
new_esEs17(True, True)
new_compare26(x0, x1, False)
new_esEs22(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_esEs31(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_primEqNat0(Zero, Succ(x0))
new_esEs7(Right(x0), Right(x1), x2, ty_Int)
new_sizeFM(x0, x1, x2, x3, x4, x5, x6, x7)
new_primCmpNat2(Succ(x0), x1)
new_esEs10(x0, x1, ty_Char)
new_esEs28(x0, x1, ty_Bool)
new_esEs28(x0, x1, ty_@0)
new_compare31(x0, x1, app(ty_[], x2))
new_primEqInt(Neg(Succ(x0)), Pos(x1))
new_primEqInt(Pos(Succ(x0)), Neg(x1))
new_mkBalBranch6MkBalBranch01(x0, x1, x2, x3, x4, x5, x6, x7, True, x8, x9, x10)
new_esEs7(Right(x0), Right(x1), x2, app(ty_Maybe, x3))
new_lt5(x0, x1, ty_Ordering)
new_esEs7(Right(x0), Right(x1), x2, ty_Char)
new_compare14(x0, x1, False, x2, x3)
new_mkVBalBranch3MkVBalBranch20(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, True, x12, x13, x14)
new_esEs19(@0, @0)
new_mkVBalBranch30(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14)
new_compare11(x0, x1, False)
new_ltEs18(x0, x1, ty_Int)
new_esEs20(x0, x1, ty_Char)
new_addToFM0(x0, x1, x2, x3, x4, x5)
new_compare0([], [], x0)
new_compare0(:(x0, x1), :(x2, x3), x4)
new_compare31(x0, x1, app(app(ty_@2, x2), x3))
new_esEs21(x0, x1, ty_Bool)
new_esEs20(x0, x1, ty_Bool)
new_esEs4(Nothing, Just(x0), x1)
new_mkVBalBranch3MkVBalBranch10(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, False, x12, x13, x14)
new_splitLT13(x0, x1, x2, x3, x4, x5, False, x6, x7, x8)
new_primPlusInt1(x0, Pos(x1))
new_compare11(x0, x1, True)
new_lt5(x0, x1, app(app(ty_@2, x2), x3))
new_ltEs20(x0, x1, app(app(ty_Either, x2), x3))
new_primPlusNat1(Succ(x0), x1)
new_esEs9(x0, x1, ty_@0)
new_lt6(x0, x1, app(ty_Ratio, x2))
new_esEs32(x0, x1, app(app(app(ty_@3, x2), x3), x4))
new_ltEs4(Left(x0), Left(x1), ty_@0, x2)
new_compare29(x0, x1, False, x2)

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs: